wxMaxima
Loading...
Searching...
No Matches
Functions
ToolBarSections.cpp File Reference

The sections the main toolbar is made of, and the order they are shown in. More...

#include "ToolBarSections.h"
#include <algorithm>
#include <wx/tokenzr.h>
Include dependency graph for ToolBarSections.cpp:

Functions

const std::vector< Section > & ToolBarSections::DefaultOrder ()
 All sections, in the order a new installation shows them in.
 
wxString ToolBarSections::Key (Section section)
 The name a section is stored under in the config file. Never translated.
 
wxString ToolBarSections::VisibilityConfigKey (Section section)
 The config key that says if a section is shown.
 
bool ToolBarSections::ShownByDefault (Section section)
 Is this section shown if the user never said otherwise?
 
std::vector< Section > ToolBarSections::ParseOrder (const wxString &stored)
 Turns a stored order into a complete one.
 
wxString ToolBarSections::OrderToString (const std::vector< Section > &order)
 The comma-separated list of Key()s ParseOrder() reads back.
 
bool ToolBarSections::SeparatorBetween (Section left, Section right)
 Does the toolbar need a separator between these two neighbouring sections?
 

Detailed Description

The sections the main toolbar is made of, and the order they are shown in.

Function Documentation

◆ ParseOrder()

std::vector< Section > ToolBarSections::ParseOrder ( const wxString &  stored)

Turns a stored order into a complete one.

Unknown names (from a newer wxMaxima, or a typo in a hand-edited config file) and duplicates are dropped. Sections the stored order doesn't mention (because it was written by a wxMaxima that didn't know them yet) are inserted after the section they follow in DefaultOrder(), so a new section shows up next to its neighbours instead of at the very end. The result therefore always contains every section exactly once.

Parameters
storedA comma-separated list of Key()s; empty means "the default".

◆ SeparatorBetween()

bool ToolBarSections::SeparatorBetween ( Section  left,
Section  right 
)

Does the toolbar need a separator between these two neighbouring sections?

Sections that belong together (New, Open/Save; Cut/Copy/Paste and Select all; the cell type and the text formatting and animation controls) aren't separated, which is how the toolbar always looked. Nothing is separated from the flexible space, which already separates.

Variable Documentation

◆ group

int group

Neighbouring sections of the same group aren't separated.

0 means "never separate from anything", which only the flexible space is.