Add Select All functionality, closes #19

This commit is contained in:
Twan van Laarhoven
2020-05-08 01:54:51 +02:00
parent 8b25815f72
commit 2d171732a0
21 changed files with 291 additions and 209 deletions
+1
View File
@@ -9,6 +9,7 @@
Features:
* In the quick search box you can specify which field to search in,
for example `type:Wizard` searches for cards with Wizard in the type.
* Added "Select All" function (#19)
Bug fixes:
* card variable in console panel now refers to the selected card
+2
View File
@@ -36,6 +36,7 @@ menu:
paste: &Paste Ctrl+V
paste card: &Paste Ctrl+V
paste keyword: &Paste Ctrl+V
select all: Select &All Ctrl+A
find: &Find Ctrl+F
find next: Find &Next F3
replace: R&eplace Ctrl+H
@@ -148,6 +149,7 @@ help:
paste: Inserts the text from the clipboard
paste card: Inserts the card from the clipboard
paste keyword: Inserts the keyword from the clipboard
select all: Select all text
find: Search the card texts
find next: Find the next match
replace: Replace in the card texts
+2
View File
@@ -250,11 +250,13 @@ bool DataEditor::canCopy() const { return current_editor && current_ed
bool DataEditor::canPaste() const { return current_editor && current_editor->canPaste(); }
bool DataEditor::canFormat(int type) const { return current_editor && current_editor->canFormat(type); }
bool DataEditor::hasFormat(int type) const { return current_editor && current_editor->hasFormat(type); }
bool DataEditor::canSelectAll() const { return current_editor && current_editor->canSelectAll(); }
void DataEditor::doCut() { if (current_editor) current_editor->doCut(); }
void DataEditor::doCopy() { if (current_editor) current_editor->doCopy(); }
void DataEditor::doPaste() { if (current_editor) current_editor->doPaste(); }
void DataEditor::doFormat(int type) { if (current_editor) current_editor->doFormat(type); }
void DataEditor::doSelectAll() { if (current_editor) current_editor->doSelectAll(); }
wxMenu* DataEditor::getMenu(int type) const {
+6 -1
View File
@@ -65,7 +65,12 @@ class DataEditor : public CardViewer {
wxMenu* getMenu(int type) const;
/// A menu item from getMenu was selected
void onCommand(int id);
// --------------------------------------------------- : Text selection
bool canSelectAll() const;
void doSelectAll();
// --------------------------------------------------- : Search/replace
/// Do a search or replace action for the given FindInfo
+9
View File
@@ -40,6 +40,9 @@ bool ItemList::canSelectPrevious() const {
bool ItemList::canSelectNext() const {
return selected_item_pos >= 0 && static_cast<size_t>(selected_item_pos + 1) < sorted_list.size();
}
bool ItemList::canSelectAll() const {
return sorted_list.size() > 0 && !(GetWindowStyle() & wxLC_SINGLE_SEL);
}
void ItemList::selectPrevious() {
assert(selected_item_pos >= 1);
focusNone();
@@ -54,6 +57,12 @@ void ItemList::selectFirst() {
if (sorted_list.empty()) return;
selectItemPos(0, true);
}
void ItemList::doSelectAll() {
long count = GetItemCount();
for (long pos = 0; pos < count; ++pos) {
Select(pos,true);
}
}
bool ItemList::doCut() {
// cut = copy + delete
+4
View File
@@ -32,12 +32,16 @@ class ItemList : public wxListView {
bool canSelectPrevious() const;
/// Is there a next item to select?
bool canSelectNext() const;
/// Can we select all?
bool canSelectAll() const;
/// Move the selection to the previous item (if possible)
void selectPrevious();
/// Move the selection to the next item (if possible)
void selectNext();
/// Move the selection to the first item (if possible)
void selectFirst();
/// Select all items
void doSelectAll();
// --------------------------------------------------- : Clipboard
+10
View File
@@ -399,6 +399,16 @@ void CardsPanel::doPaste() {
}
}
// ----------------------------------------------------------------------------- : Text selection
bool CardsPanel::canSelectAll() const {
CUT_COPY_PASTE(canSelectAll, return)
}
void CardsPanel::doSelectAll() {
CUT_COPY_PASTE(doSelectAll, return (void))
}
// ----------------------------------------------------------------------------- : Searching
class CardsPanel::SearchFindInfo : public FindInfo {
+5
View File
@@ -49,6 +49,11 @@ class CardsPanel : public SetWindowPanel {
virtual void doCopy();
virtual void doPaste();
// --------------------------------------------------- : Text selection
bool canSelectAll() const override;
void doSelectAll() override;
// --------------------------------------------------- : Searching (find/replace)
virtual bool canFind() const { return true; }
+10
View File
@@ -273,6 +273,16 @@ void KeywordsPanel::doCopy() { CUT_COPY_PASTE(doCopy, return (void), f
void KeywordsPanel::doCut() { CUT_COPY_PASTE(doCut, return (void), !list->getKeyword() || list->getKeyword()->fixed) }
void KeywordsPanel::doPaste() { CUT_COPY_PASTE(doPaste, return (void), !list->getKeyword() || list->getKeyword()->fixed) }
// ----------------------------------------------------------------------------- : Text selection
bool KeywordsPanel::canSelectAll() const {
CUT_COPY_PASTE(canSelectAll, return, false)
}
void KeywordsPanel::doSelectAll() {
CUT_COPY_PASTE(doSelectAll, return (void), false)
}
// ----------------------------------------------------------------------------- : Events
void KeywordsPanel::onChangeSet() {
+4 -1
View File
@@ -43,7 +43,10 @@ class KeywordsPanel : public SetWindowPanel {
virtual void doCut();
virtual void doCopy();
virtual void doPaste();
virtual bool canSelectAll() const;
virtual void doSelectAll();
private:
DECLARE_EVENT_TABLE();
+5 -1
View File
@@ -60,7 +60,11 @@ class SetWindowPanel : public wxPanel, public SetView {
virtual void doPaste() {} ///< Paste the contents of the clipboard
virtual void doCopy() {} ///< Copy the selection to the clipboard
virtual void doCut() {} ///< Cut the selection to the clipboard
// --------------------------------------------------- : Selecting
virtual bool canSelectAll() const { return false; }
virtual void doSelectAll() {}
// --------------------------------------------------- : Searching (find/replace)
virtual bool canFind() const { return false; } ///< Is finding possible?
virtual bool canReplace() const { return false; } ///< Is replacing possible?
+2
View File
@@ -87,3 +87,5 @@ bool SetInfoPanel::canPaste() const { return editor->canPaste(); }
void SetInfoPanel::doCut() { editor->doCut(); }
void SetInfoPanel::doCopy() { editor->doCopy(); }
void SetInfoPanel::doPaste() { editor->doPaste(); }
bool SetInfoPanel::canSelectAll() const { return editor->canSelectAll(); }
void SetInfoPanel::doSelectAll() { editor->doSelectAll(); }
+4 -2
View File
@@ -28,12 +28,14 @@ class SetInfoPanel : public SetWindowPanel {
// --------------------------------------------------- : Clipboard
virtual bool canCut() const;
virtual bool canCopy() const;
virtual bool canCut() const;
virtual bool canCopy() const;
virtual bool canPaste() const;
virtual bool canSelectAll() const;
virtual void doCut();
virtual void doCopy();
virtual void doPaste();
virtual void doSelectAll();
protected:
virtual void onChangeSet();
+2
View File
@@ -156,6 +156,8 @@ bool StylePanel::canPaste() const { CUT_COPY_PASTE(canPaste, return) }
void StylePanel::doCopy() { CUT_COPY_PASTE(doCopy, return (void)) }
void StylePanel::doCut() { CUT_COPY_PASTE(doCut, return (void)) }
void StylePanel::doPaste() { CUT_COPY_PASTE(doPaste, return (void)) }
bool StylePanel::canSelectAll() const { CUT_COPY_PASTE(canSelectAll, return) }
void StylePanel::doSelectAll() { CUT_COPY_PASTE(doSelectAll, return (void)) }
// ----------------------------------------------------------------------------- : Events
+2
View File
@@ -33,9 +33,11 @@ class StylePanel : public SetWindowPanel {
virtual bool canCut() const;
virtual bool canCopy() const;
virtual bool canPaste() const;
virtual bool canSelectAll() const;
virtual void doCut();
virtual void doCopy();
virtual void doPaste();
virtual void doSelectAll();
// --------------------------------------------------- : Selection
virtual void selectCard(const CardP& card);
+8
View File
@@ -82,6 +82,8 @@ SetWindow::SetWindow(Window* parent, const SetP& set)
add_menu_item_tr(menuEdit, ID_EDIT_COPY, "copy", "copy");
add_menu_item_tr(menuEdit, ID_EDIT_PASTE, "paste", "paste");
menuEdit->AppendSeparator();
add_menu_item_tr(menuEdit, ID_EDIT_SELECT_ALL, nullptr, "select_all");
menuEdit->AppendSeparator();
add_menu_item_tr(menuEdit, ID_EDIT_FIND, "find", "find");
add_menu_item_tr(menuEdit, ID_EDIT_FIND_NEXT, nullptr, "find_next");
add_menu_item_tr(menuEdit, ID_EDIT_REPLACE, nullptr, "replace");
@@ -510,6 +512,7 @@ void SetWindow::onUpdateUI(wxUpdateUIEvent& ev) {
case ID_EDIT_CUT : ev.Enable(current_panel->canCut()); break;
case ID_EDIT_COPY : ev.Enable(current_panel->canCopy()); break;
case ID_EDIT_PASTE : ev.Enable(current_panel->canPaste()); break;
case ID_EDIT_SELECT_ALL: ev.Enable(current_panel->canSelectAll()); break;
case ID_EDIT_FIND : ev.Enable(current_panel->canFind()); break;
case ID_EDIT_FIND_NEXT : ev.Enable(current_panel->canFind()); break;
case ID_EDIT_REPLACE : ev.Enable(current_panel->canReplace());break;
@@ -736,6 +739,10 @@ void SetWindow::onEditPaste(wxCommandEvent&) {
current_panel->doPaste();
}
void SetWindow::onEditSelectAll(wxCommandEvent&) {
current_panel->doSelectAll();
}
void SetWindow::onEditFind(wxCommandEvent&) {
find_dialog = make_unique<wxFindReplaceDialog>(this, &find_data, _("Find"));
find_dialog->Show();
@@ -849,6 +856,7 @@ BEGIN_EVENT_TABLE(SetWindow, wxFrame)
EVT_MENU (ID_EDIT_CUT, SetWindow::onEditCut)
EVT_MENU (ID_EDIT_COPY, SetWindow::onEditCopy)
EVT_MENU (ID_EDIT_PASTE, SetWindow::onEditPaste)
EVT_MENU (ID_EDIT_SELECT_ALL, SetWindow::onEditSelectAll)
EVT_MENU (ID_EDIT_FIND, SetWindow::onEditFind)
EVT_MENU (ID_EDIT_FIND_NEXT, SetWindow::onEditFindNext)
EVT_MENU (ID_EDIT_REPLACE, SetWindow::onEditReplace)
+1
View File
@@ -141,6 +141,7 @@ private:
void onEditCut (wxCommandEvent&);
void onEditCopy (wxCommandEvent&);
void onEditPaste (wxCommandEvent&);
void onEditSelectAll (wxCommandEvent&);
void onEditFind (wxCommandEvent&);
void onEditFindNext (wxCommandEvent&);
void onEditReplace (wxCommandEvent&);
+3
View File
@@ -91,6 +91,9 @@ class ValueEditor {
// --------------------------------------------------- : Selection
virtual bool canSelectAll() const { return false; }
virtual void doSelectAll() {}
/// Select the specified range (if it makes sense)
virtual void select(size_t start, size_t end) {}
/// Determine the selected range
+9
View File
@@ -1165,6 +1165,15 @@ bool TextValueEditor::isWordBoundary(size_t pos_i) const {
}
}
void TextValueEditor::doSelectAll() {
size_t old_selection_start_i = selection_start_i;
size_t old_selection_end_i = selection_end_i;
selection_start_i = 0;
selection_end_i = value().value().size();
fixSelection(TYPE_INDEX);
redrawSelection(old_selection_start_i, old_selection_end_i, dropDownShown());
}
void TextValueEditor::select(size_t start, size_t end) {
selection_start = start;
selection_end = end;
+3 -1
View File
@@ -71,7 +71,9 @@ class TextValueEditor : public TextValueViewer, public ValueEditor {
virtual void doFormat(int type);
// --------------------------------------------------- : Selection
virtual bool canSelectAll() const { return true; }
virtual void doSelectAll();
virtual void select(size_t start, size_t end);
virtual size_t selectionStart() const { return selection_start; }
virtual size_t selectionEnd() const { return selection_end; }
+199 -203
View File
@@ -11,77 +11,75 @@
* @brief Enumerations of all window ids used.
*/
// ----------------------------------------------------------------------------- : Includes
// ----------------------------------------------------------------------------- : Menu ids
/// Window ids for menus and toolbars
enum MenuID {
ID_MENU_MIN = 0
, ID_MENU_MAX = 999
ID_MENU_MIN = 0,
ID_MENU_MAX = 999,
// File menu
, ID_FILE_NEW = wxID_NEW
, ID_FILE_OPEN = wxID_OPEN
, ID_FILE_SAVE = wxID_SAVE
, ID_FILE_SAVE_AS = wxID_SAVEAS
, ID_FILE_STORE = 1
, ID_FILE_EXIT = wxID_EXIT
, ID_FILE_EXPORT = 2
, ID_FILE_EXPORT_HTML = 3
, ID_FILE_EXPORT_IMAGE = 4
, ID_FILE_EXPORT_IMAGES = 5
, ID_FILE_EXPORT_APPR = 6
, ID_FILE_EXPORT_MWS = 7
, ID_FILE_PRINT = wxID_PRINT
, ID_FILE_PRINT_PREVIEW = wxID_PREVIEW
, ID_FILE_INSPECT = 8
, ID_FILE_RELOAD = 9
, ID_FILE_RECENT = wxID_FILE1
, ID_FILE_RECENT_MAX = wxID_FILE9
, ID_FILE_CHECK_UPDATES = 10
, ID_FILE_PROFILER = 11
ID_FILE_NEW = wxID_NEW,
ID_FILE_OPEN = wxID_OPEN,
ID_FILE_SAVE = wxID_SAVE,
ID_FILE_SAVE_AS = wxID_SAVEAS,
ID_FILE_STORE = 1,
ID_FILE_EXIT = wxID_EXIT,
ID_FILE_EXPORT = 2,
ID_FILE_EXPORT_HTML = 3,
ID_FILE_EXPORT_IMAGE = 4,
ID_FILE_EXPORT_IMAGES = 5,
ID_FILE_EXPORT_APPR = 6,
ID_FILE_EXPORT_MWS = 7,
ID_FILE_PRINT = wxID_PRINT,
ID_FILE_PRINT_PREVIEW = wxID_PREVIEW,
ID_FILE_INSPECT = 8,
ID_FILE_RELOAD = 9,
ID_FILE_RECENT = wxID_FILE1,
ID_FILE_RECENT_MAX = wxID_FILE9,
ID_FILE_CHECK_UPDATES = 10,
ID_FILE_PROFILER = 11,
// Edit menu
, ID_EDIT_UNDO = wxID_UNDO
, ID_EDIT_REDO = wxID_REDO
, ID_EDIT_CUT = wxID_CUT
, ID_EDIT_COPY = wxID_COPY
, ID_EDIT_PASTE = wxID_PASTE
, ID_EDIT_DELETE = 101
, ID_EDIT_FIND = wxID_FIND
, ID_EDIT_FIND_NEXT = 103
, ID_EDIT_REPLACE = wxID_REPLACE
, ID_EDIT_AUTO_REPLACE = 104
, ID_EDIT_PREFERENCES = 105
ID_EDIT_UNDO = wxID_UNDO,
ID_EDIT_REDO = wxID_REDO,
ID_EDIT_CUT = wxID_CUT,
ID_EDIT_COPY = wxID_COPY,
ID_EDIT_PASTE = wxID_PASTE,
ID_EDIT_SELECT_ALL = wxID_SELECTALL,
ID_EDIT_DELETE = wxID_DELETE,
ID_EDIT_FIND = wxID_FIND,
ID_EDIT_FIND_NEXT = 103,
ID_EDIT_REPLACE = wxID_REPLACE,
ID_EDIT_AUTO_REPLACE = 104,
ID_EDIT_PREFERENCES = 105,
// Window menu (MainWindow)
, ID_WINDOW_NEW = 201
, ID_WINDOW_MIN = 202
, ID_WINDOW_CARDS = ID_WINDOW_MIN + 0
, ID_WINDOW_SET = ID_WINDOW_MIN + 1
, ID_WINDOW_STYLE = ID_WINDOW_MIN + 2
, ID_WINDOW_KEYWORDS = ID_WINDOW_MIN + 3
, ID_WINDOW_STATS = ID_WINDOW_MIN + 4
, ID_WINDOW_RANDOM_PACK = ID_WINDOW_MIN + 5
, ID_WINDOW_MAX = 220
ID_WINDOW_NEW = 201,
ID_WINDOW_MIN = 202,
ID_WINDOW_CARDS = ID_WINDOW_MIN + 0,
ID_WINDOW_SET = ID_WINDOW_MIN + 1,
ID_WINDOW_STYLE = ID_WINDOW_MIN + 2,
ID_WINDOW_KEYWORDS = ID_WINDOW_MIN + 3,
ID_WINDOW_STATS = ID_WINDOW_MIN + 4,
ID_WINDOW_RANDOM_PACK = ID_WINDOW_MIN + 5,
ID_WINDOW_MAX = 220,
// Help menu (MainWindow)
, ID_HELP_INDEX = wxID_HELP_CONTENTS
, ID_HELP_WEBSITE = 301
, ID_HELP_DOCUMENTATION
, ID_HELP_ABOUT = wxID_ABOUT
ID_HELP_INDEX = wxID_HELP_CONTENTS,
ID_HELP_WEBSITE = 301,
ID_HELP_DOCUMENTATION,
ID_HELP_ABOUT = wxID_ABOUT,
// Mode menu (SymbolWindow)
, ID_MODE_MIN = 401
, ID_MODE_SELECT = ID_MODE_MIN
, ID_MODE_ROTATE
, ID_MODE_POINTS
, ID_MODE_SHAPES
, ID_MODE_SYMMETRY
, ID_MODE_PAINT
, ID_MODE_MAX
ID_MODE_MIN= 401,
ID_MODE_SELECT= ID_MODE_MIN,
ID_MODE_ROTATE,
ID_MODE_POINTS,
ID_MODE_SHAPES,
ID_MODE_SYMMETRY,
ID_MODE_PAINT,
ID_MODE_MAX,
};
@@ -89,133 +87,132 @@ enum MenuID {
/// Ids for menus on child panels (MainWindowPanel / SymbolEditorBase)
enum ChildMenuID {
ID_CHILD_MIN = 6000
, ID_CHILD_MAX = 16999
ID_CHILD_MIN = 6000,
ID_CHILD_MAX = 16999,
// Cards menu
, ID_CARD_ADD = 6001
, ID_CARD_ADD_MULT
, ID_CARD_REMOVE
, ID_CARD_PREV
, ID_CARD_NEXT
, ID_CARD_ROTATE
, ID_CARD_ROTATE_0
, ID_CARD_ROTATE_90
, ID_CARD_ROTATE_180
, ID_CARD_ROTATE_270
ID_CARD_ADD = 6001,
ID_CARD_ADD_MULT,
ID_CARD_REMOVE,
ID_CARD_PREV,
ID_CARD_NEXT,
ID_CARD_ROTATE,
ID_CARD_ROTATE_0,
ID_CARD_ROTATE_90,
ID_CARD_ROTATE_180,
ID_CARD_ROTATE_270,
// CardList
, ID_SELECT_COLUMNS
ID_SELECT_COLUMNS,
// Keyword menu
, ID_KEYWORD_ADD = 6101
, ID_KEYWORD_REMOVE
, ID_KEYWORD_PREV
, ID_KEYWORD_NEXT
ID_KEYWORD_ADD = 6101,
ID_KEYWORD_REMOVE,
ID_KEYWORD_PREV,
ID_KEYWORD_NEXT,
// Format menu
, ID_FORMAT_BOLD = 6201
, ID_FORMAT_ITALIC
, ID_FORMAT_SYMBOL
, ID_FORMAT_REMINDER
, ID_INSERT_SYMBOL
ID_FORMAT_BOLD = 6201,
ID_FORMAT_ITALIC,
ID_FORMAT_SYMBOL,
ID_FORMAT_REMINDER,
ID_INSERT_SYMBOL,
// Spelling errors
, ID_SPELLING_ADD_TO_DICT = 6301
, ID_SPELLING_NO_SUGGEST
, ID_SPELLING_SUGGEST
, ID_SPELLING_SUGGEST_MAX = 6399
ID_SPELLING_ADD_TO_DICT = 6301,
ID_SPELLING_NO_SUGGEST,
ID_SPELLING_SUGGEST,
ID_SPELLING_SUGGEST_MAX = 6399,
// Graph menu
, ID_GRAPH_PIE = 6401 // corresponds to GraphType
, ID_GRAPH_BAR
, ID_GRAPH_STACK
, ID_GRAPH_SCATTER
, ID_GRAPH_SCATTER_PIE
ID_GRAPH_PIE = 6401, // corresponds to GraphType
ID_GRAPH_BAR,
ID_GRAPH_STACK,
ID_GRAPH_SCATTER,
ID_GRAPH_SCATTER_PIE,
// SymbolSelectEditor toolbar/menu
, ID_SYMBOL_COMBINE = 7001
, ID_SYMBOL_COMBINE_MERGE = ID_SYMBOL_COMBINE + 0 //SYMBOL_COMBINE_MERGE
, ID_SYMBOL_COMBINE_SUBTRACT = ID_SYMBOL_COMBINE + 1 //SYMBOL_COMBINE_SUBTRACT
, ID_SYMBOL_COMBINE_INTERSECTION = ID_SYMBOL_COMBINE + 2 //SYMBOL_COMBINE_INTERSECTION
, ID_SYMBOL_COMBINE_DIFFERENCE = ID_SYMBOL_COMBINE + 3 //SYMBOL_COMBINE_DIFFERENCE
, ID_SYMBOL_COMBINE_OVERLAP = ID_SYMBOL_COMBINE + 4 //SYMBOL_COMBINE_OVERLAP
, ID_SYMBOL_COMBINE_BORDER = ID_SYMBOL_COMBINE + 5 //SYMBOL_COMBINE_BORDER
, ID_SYMBOL_COMBINE_MAX
, ID_EDIT_DUPLICATE // duplicating symbol parts
, ID_EDIT_GROUP
, ID_EDIT_UNGROUP
, ID_VIEW_GRID
, ID_VIEW_GRID_SNAP
ID_SYMBOL_COMBINE = 7001,
ID_SYMBOL_COMBINE_MERGE = ID_SYMBOL_COMBINE + 0, //SYMBOL_COMBINE_MERGE
ID_SYMBOL_COMBINE_SUBTRACT = ID_SYMBOL_COMBINE + 1, //SYMBOL_COMBINE_SUBTRACT
ID_SYMBOL_COMBINE_INTERSECTION = ID_SYMBOL_COMBINE + 2, //SYMBOL_COMBINE_INTERSECTION
ID_SYMBOL_COMBINE_DIFFERENCE = ID_SYMBOL_COMBINE + 3, //SYMBOL_COMBINE_DIFFERENCE
ID_SYMBOL_COMBINE_OVERLAP = ID_SYMBOL_COMBINE + 4, //SYMBOL_COMBINE_OVERLAP
ID_SYMBOL_COMBINE_BORDER = ID_SYMBOL_COMBINE + 5, //SYMBOL_COMBINE_BORDER
ID_SYMBOL_COMBINE_MAX,
ID_EDIT_DUPLICATE, // duplicating symbol parts
ID_EDIT_GROUP,
ID_EDIT_UNGROUP,
ID_VIEW_GRID,
ID_VIEW_GRID_SNAP,
// SymbolPointEditor toolbar/menu
, ID_SEGMENT = 7101
, ID_SEGMENT_LINE = ID_SEGMENT + 0//SEGMENT_LINE
, ID_SEGMENT_CURVE = ID_SEGMENT + 1//SEGMENT_CURVE
, ID_SEGMENT_MAX
, ID_LOCK = 7151
, ID_LOCK_FREE = ID_LOCK + 0//LOCK_FREE
, ID_LOCK_DIR = ID_LOCK + 1//LOCK_DIR
, ID_LOCK_SIZE = ID_LOCK + 2//LOCK_SIZE
, ID_LOCK_MAX
ID_SEGMENT = 7101,
ID_SEGMENT_LINE = ID_SEGMENT + 0, //SEGMENT_LINE
ID_SEGMENT_CURVE = ID_SEGMENT + 1, //SEGMENT_CURVE
ID_SEGMENT_MAX,
ID_LOCK = 7151,
ID_LOCK_FREE = ID_LOCK + 0, //LOCK_FREE
ID_LOCK_DIR = ID_LOCK + 1, //LOCK_DIR
ID_LOCK_SIZE = ID_LOCK + 2, //LOCK_SIZE
ID_LOCK_MAX,
// SymbolBasicShapeEditor toolbar/menu
, ID_SHAPE = 7201
, ID_SHAPE_CIRCLE = ID_SHAPE
, ID_SHAPE_RECTANGLE
, ID_SHAPE_POLYGON
, ID_SHAPE_STAR
, ID_SHAPE_MAX
, ID_SIDES
ID_SHAPE = 7201,
ID_SHAPE_CIRCLE = ID_SHAPE,
ID_SHAPE_RECTANGLE,
ID_SHAPE_POLYGON,
ID_SHAPE_STAR,
ID_SHAPE_MAX,
ID_SIDES,
// SymbolSymmetryEditor toolbar/menu
, ID_SYMMETRY = 7301
, ID_SYMMETRY_ROTATION = ID_SYMMETRY
, ID_SYMMETRY_REFLECTION
, ID_SYMMETRY_MAX
, ID_ADD_SYMMETRY
, ID_REMOVE_SYMMETRY
, ID_COPIES
ID_SYMMETRY = 7301,
ID_SYMMETRY_ROTATION = ID_SYMMETRY,
ID_SYMMETRY_REFLECTION,
ID_SYMMETRY_MAX,
ID_ADD_SYMMETRY,
ID_REMOVE_SYMMETRY,
ID_COPIES,
// On cards panel
, ID_COLLAPSE_NOTES = 8001
, ID_CARD_FILTER
ID_COLLAPSE_NOTES = 8001,
ID_CARD_FILTER,
// Style panel
, ID_STYLE_USE_FOR_ALL = 8011
, ID_STYLE_USE_CUSTOM
ID_STYLE_USE_FOR_ALL = 8011,
ID_STYLE_USE_CUSTOM,
// Keywords panel
, ID_KEYWORD_ADD_PARAM = 8021
, ID_KEYWORD_REF_PARAM
, ID_KEYWORD_MODE
, ID_KEYWORD_FILTER
, ID_PARAM_TYPE_MIN = 8101
, ID_PARAM_TYPE_MAX = 8200
, ID_PARAM_REF_MIN = 8201
, ID_PARAM_REF_MAX = 8300
ID_KEYWORD_ADD_PARAM = 8021,
ID_KEYWORD_REF_PARAM,
ID_KEYWORD_MODE,
ID_KEYWORD_FILTER,
ID_PARAM_TYPE_MIN = 8101,
ID_PARAM_TYPE_MAX = 8200,
ID_PARAM_REF_MIN = 8201,
ID_PARAM_REF_MAX = 8300,
// Statistics panel
, ID_FIELD_LIST = 8301
ID_FIELD_LIST = 8301,
// Random pack panel
, ID_PACK_AMOUNT = 8111
, ID_PACK_TYPE
, ID_SEED_RANDOM
, ID_SEED_FIXED
, ID_GENERATE_PACK
, ID_CUSTOM_PACK
ID_PACK_AMOUNT = 8111,
ID_PACK_TYPE,
ID_SEED_RANDOM,
ID_SEED_FIXED,
ID_GENERATE_PACK,
ID_CUSTOM_PACK,
// Console panel
, ID_EVALUATE
ID_EVALUATE,
// SymbolFont (Format menu)
, ID_INSERT_SYMBOL_MENU_MIN = 9001
, ID_INSERT_SYMBOL_MENU_MAX = 10000
ID_INSERT_SYMBOL_MENU_MIN = 9001,
ID_INSERT_SYMBOL_MENU_MAX = 10000,
// AddCardsScript (Card menu)
, ID_ADD_CARDS_MENU_MIN = 10001
, ID_ADD_CARDS_MENU_MAX = 11000
ID_ADD_CARDS_MENU_MIN = 10001,
ID_ADD_CARDS_MENU_MAX = 11000,
};
@@ -223,67 +220,66 @@ enum ChildMenuID {
/// Window ids for controls
enum ControlID {
ID_CONTROL_MIN = 1000
, ID_CONTROL_MAX = 1999
ID_CONTROL_MIN = 1000,
ID_CONTROL_MAX = 1999,
// Controls
, ID_VIEWER = 1001
, ID_EDITOR
, ID_CONTROL
, ID_TAB_BAR
, ID_CARD_LIST
, ID_PART_LIST
, ID_GAME_LIST
, ID_STYLESHEET_LIST
, ID_KEYWORD_LIST
, ID_EXPORT_LIST
, ID_NOTES
, ID_KEYWORD
, ID_MATCH
, ID_REMINDER
, ID_RULES
, ID_MESSAGE_LIST
ID_VIEWER = 1001,
ID_EDITOR,
ID_CONTROL,
ID_TAB_BAR,
ID_CARD_LIST,
ID_PART_LIST,
ID_GAME_LIST,
ID_STYLESHEET_LIST,
ID_KEYWORD_LIST,
ID_EXPORT_LIST,
ID_NOTES,
ID_KEYWORD,
ID_MATCH,
ID_REMINDER,
ID_RULES,
ID_MESSAGE_LIST,
// Card list column select
, ID_MOVE_UP
, ID_MOVE_DOWN
, ID_SHOW
, ID_HIDE
ID_MOVE_UP,
ID_MOVE_DOWN,
ID_SHOW,
ID_HIDE,
// Card select
, ID_SELECT_CARDS
, ID_SELECTION_CHOICE
, ID_SELECTION_CHOICE_MAX = ID_SELECTION_CHOICE + 100
, ID_SELECT_ALL
, ID_SELECT_NONE
ID_SELECT_CARDS,
ID_SELECTION_CHOICE,
ID_SELECTION_CHOICE_MAX = ID_SELECTION_CHOICE + 100,
ID_SELECT_ALL,
ID_SELECT_NONE,
// Settings
, ID_NOTEBOOK
, ID_APPRENTICE_BROWSE
, ID_CHECK_UPDATES_NOW
ID_NOTEBOOK,
ID_APPRENTICE_BROWSE,
ID_CHECK_UPDATES_NOW,
// Image slicer
, ID_PREVIEW
, ID_SELECTOR
, ID_SIZE
, ID_LEFT
, ID_TOP
, ID_WIDTH
, ID_HEIGHT
, ID_FIX_ASPECT
, ID_ZOOM
, ID_ZOOM_X
, ID_ZOOM_Y
, ID_SHARPEN
, ID_SHARPEN_AMOUNT
ID_PREVIEW,
ID_SELECTOR,
ID_SIZE,
ID_LEFT,
ID_TOP,
ID_WIDTH,
ID_HEIGHT,
ID_FIX_ASPECT,
ID_ZOOM,
ID_ZOOM_X,
ID_ZOOM_Y,
ID_SHARPEN,
ID_SHARPEN_AMOUNT,
// Updates window
, ID_PACKAGE_LIST
, ID_KEEP
, ID_INSTALL
, ID_UPGRADE
, ID_REMOVE
ID_PACKAGE_LIST,
ID_KEEP,
ID_INSTALL,
ID_UPGRADE,
ID_REMOVE,
// Auto replace window
, ID_USE_AUTO_REPLACE
, ID_ITEM_VALUE
, ID_ADD_ITEM
, ID_REMOVE_ITEM
, ID_DEFAULTS
ID_USE_AUTO_REPLACE,
ID_ITEM_VALUE,
ID_ADD_ITEM,
ID_REMOVE_ITEM,
ID_DEFAULTS,
};