Eclipse SUMO - Simulation of Urban MObility
MFXEditableTable.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2004-2022 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials are made available under the
5 // terms of the Eclipse Public License 2.0 which is available at
6 // https://www.eclipse.org/legal/epl-2.0/
7 // This Source Code may also be made available under the following Secondary
8 // Licenses when the conditions for such availability set forth in the Eclipse
9 // Public License 2.0 are satisfied: GNU General Public License, version 2
10 // or later which is available at
11 // https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
12 // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
13 /****************************************************************************/
18 // missing_desc
19 /****************************************************************************/
20 #ifndef MFXEditableTable_h
21 #define MFXEditableTable_h
22 #include <config.h>
23 
24 #include "fxheader.h"
25 #include <set>
26 
28  FXTableItem* item;
29  int row;
30  int col;
31  bool updateOnly;
32 };
33 
34 enum {
35  EDITTABLE_NEXTROW = 0x02000000
36 };
37 
38 
39 class MFXEditableTable : public FXTable {
40  FXDECLARE(MFXEditableTable)
41 public:
42  enum {
43  ID_LABELEDIT = FXTable::ID_LAST,
48  ID_LAST
49  };
50  MFXEditableTable(FXComposite* p, FXObject* tgt = NULL, FXSelector sel = 0, FXuint opts = 0, FXint x = 0, FXint y = 0, FXint w = 0, FXint h = 0, FXint pl = DEFAULT_MARGIN, FXint pr = DEFAULT_MARGIN, FXint pt = DEFAULT_MARGIN, FXint pb = DEFAULT_MARGIN);
52 
53 public:
54  long onLeftBtnPress(FXObject* sender, FXSelector sel, void* ptr);
55  long onLeftBtnRelease(FXObject* sender, FXSelector sel, void* ptr);
56  long onLeftBtnClicked(FXObject* sender, FXSelector sel, void* ptr);
57 
58  virtual void editItem(FXTableItem* item, FXint how);
59  virtual void editEnd();
60  long onEditEnd(FXObject*, FXSelector, void*);
61  virtual void editCancel();
62  long onEditKeyPress(FXObject*, FXSelector, void* ptr);
63  long onKeyRelease(FXObject* sender, FXSelector sel, void* ptr);
64  long onEditFocusOut(FXObject*, FXSelector, void*);
65 // long onTipTimer(FXObject* sender, FXSelector sel, void* ptr);
66  long onRightBtnRelease(FXObject* sender, FXSelector sel, void* ptr);
67 
68 
69  long onHScrollerChanged(FXObject* o, FXSelector s, void* d);
70  long onVScrollerChanged(FXObject* o, FXSelector s, void* d);
71  long onHScrollerDragged(FXObject* o, FXSelector s, void* d);
72  long onVScrollerDragged(FXObject* o, FXSelector s, void* d);
73 
74  long onAutoScroll(FXObject* o, FXSelector s, void* d);
75  long onUngrabbed(FXObject* o, FXSelector s, void* d);
76  long onRightBtnPress(FXObject* o, FXSelector s, void* d);
77  long onTabKeyPress(FXObject* o, FXSelector s, void* d);
78  long onTabKeyRelease(FXObject* o, FXSelector s, void* d);
79  long onFocusIn(FXObject* o, FXSelector s, void* d);
80  long onFocusOut(FXObject* o, FXSelector s, void* d);
81  long onSelectionLost(FXObject* o, FXSelector s, void* d);
82  long onSelectionGained(FXObject* o, FXSelector s, void* d);
83  long onSelectionRequest(FXObject* o, FXSelector s, void* d);
84  long onClipboardLost(FXObject* o, FXSelector s, void* d);
85  long onClipboardGained(FXObject* o, FXSelector s, void* d);
86  long onClipboardRequest(FXObject* o, FXSelector s, void* d);
87  long onDoubleClicked(FXObject* o, FXSelector s, void* d);
88  long onTripleClicked(FXObject* o, FXSelector s, void* d);
89  long onCommand(FXObject* o, FXSelector s, void* d);
90  long onUpdHorzGrid(FXObject* o, FXSelector s, void* d);
91  long onUpdVertGrid(FXObject* o, FXSelector s, void* d);
92  long onCmdHorzGrid(FXObject* o, FXSelector s, void* d);
93  long onCmdVertGrid(FXObject* o, FXSelector s, void* d);
94  long onCmdDeleteColumn(FXObject* o, FXSelector s, void* d);
95  long onUpdDeleteColumn(FXObject* o, FXSelector s, void* d);
96  long onCmdDeleteRow(FXObject* o, FXSelector s, void* d);
97  long onUpdDeleteRow(FXObject* o, FXSelector s, void* d);
98  long onCmdInsertColumn(FXObject* o, FXSelector s, void* d);
99  long onCmdInsertRow(FXObject* o, FXSelector s, void* d);
100 
101  long onCmdMoveLeft(FXObject* o, FXSelector s, void* d);
102  long onCmdMoveRight(FXObject* o, FXSelector s, void* d);
103  long onCmdMoveUp(FXObject* o, FXSelector s, void* d);
104  long onCmdMoveDown(FXObject* o, FXSelector s, void* d);
105  long onCmdMoveHome(FXObject* o, FXSelector s, void* d);
106  long onCmdMoveEnd(FXObject* o, FXSelector s, void* d);
107  long onCmdMoveTop(FXObject* o, FXSelector s, void* d);
108  long onCmdMoveBottom(FXObject* o, FXSelector s, void* d);
109  long onCmdMovePageDown(FXObject* o, FXSelector s, void* d);
110  long onCmdMovePageUp(FXObject* o, FXSelector s, void* d);
111 
112  long onCmdSelectRowIndex(FXObject* o, FXSelector s, void* d);
113  long onCmdSelectColumnIndex(FXObject* o, FXSelector s, void* d);
114  long onCmdSelectColumn(FXObject* o, FXSelector s, void* d);
115  long onCmdSelectRow(FXObject* o, FXSelector s, void* d);
116  long onCmdSelectCell(FXObject* o, FXSelector s, void* d);
117  long onCmdSelectAll(FXObject* o, FXSelector s, void* d);
118  long onCmdDeselectAll(FXObject* o, FXSelector s, void* d);
119  long onCmdMark(FXObject* o, FXSelector s, void* d);
120  long onCmdExtend(FXObject* o, FXSelector s, void* d);
121 
122 
123  void writeProtectCol(int col, bool val = true);
124 
125 
126 protected:
127  FXTextField* myEditor;
128  FXTableItem* myEditedItem;
130  std::set<int> myWriteProtectedCols;
131  FXString myPreviousText;
132 
133 protected:
134  FOX_CONSTRUCTOR(MFXEditableTable)
135 
136 };
137 
138 
139 #endif
@ EDITTABLE_NEXTROW
long onCmdSelectRow(FXObject *o, FXSelector s, void *d)
long onTripleClicked(FXObject *o, FXSelector s, void *d)
long onEditFocusOut(FXObject *, FXSelector, void *)
long onRightBtnRelease(FXObject *sender, FXSelector sel, void *ptr)
long onCmdMoveHome(FXObject *o, FXSelector s, void *d)
long onCmdMoveEnd(FXObject *o, FXSelector s, void *d)
long onAutoScroll(FXObject *o, FXSelector s, void *d)
FXTextField * myEditor
long onVScrollerDragged(FXObject *o, FXSelector s, void *d)
long onCmdMoveLeft(FXObject *o, FXSelector s, void *d)
void writeProtectCol(int col, bool val=true)
long onSelectionRequest(FXObject *o, FXSelector s, void *d)
long onClipboardLost(FXObject *o, FXSelector s, void *d)
long onCmdMoveTop(FXObject *o, FXSelector s, void *d)
long onCmdExtend(FXObject *o, FXSelector s, void *d)
long onUpdVertGrid(FXObject *o, FXSelector s, void *d)
long onSelectionLost(FXObject *o, FXSelector s, void *d)
long onCmdSelectColumnIndex(FXObject *o, FXSelector s, void *d)
long onCmdMoveRight(FXObject *o, FXSelector s, void *d)
long onVScrollerChanged(FXObject *o, FXSelector s, void *d)
long onLeftBtnPress(FXObject *sender, FXSelector sel, void *ptr)
virtual void editCancel()
long onCmdMovePageUp(FXObject *o, FXSelector s, void *d)
long onCmdSelectCell(FXObject *o, FXSelector s, void *d)
long onSelectionGained(FXObject *o, FXSelector s, void *d)
long onUngrabbed(FXObject *o, FXSelector s, void *d)
std::set< int > myWriteProtectedCols
long onCmdVertGrid(FXObject *o, FXSelector s, void *d)
long onUpdDeleteColumn(FXObject *o, FXSelector s, void *d)
long onCmdMoveDown(FXObject *o, FXSelector s, void *d)
long onCmdInsertRow(FXObject *o, FXSelector s, void *d)
long onClipboardGained(FXObject *o, FXSelector s, void *d)
long onCmdDeleteColumn(FXObject *o, FXSelector s, void *d)
long onHScrollerChanged(FXObject *o, FXSelector s, void *d)
long onCommand(FXObject *o, FXSelector s, void *d)
long onCmdSelectAll(FXObject *o, FXSelector s, void *d)
long onTabKeyRelease(FXObject *o, FXSelector s, void *d)
long onCmdSelectColumn(FXObject *o, FXSelector s, void *d)
long onEditEnd(FXObject *, FXSelector, void *)
long onTabKeyPress(FXObject *o, FXSelector s, void *d)
long onLeftBtnClicked(FXObject *sender, FXSelector sel, void *ptr)
long onCmdSelectRowIndex(FXObject *o, FXSelector s, void *d)
long onLeftBtnRelease(FXObject *sender, FXSelector sel, void *ptr)
long onUpdHorzGrid(FXObject *o, FXSelector s, void *d)
long onCmdMark(FXObject *o, FXSelector s, void *d)
long onDoubleClicked(FXObject *o, FXSelector s, void *d)
long onCmdDeselectAll(FXObject *o, FXSelector s, void *d)
long onCmdMoveBottom(FXObject *o, FXSelector s, void *d)
long onCmdMovePageDown(FXObject *o, FXSelector s, void *d)
long onCmdMoveUp(FXObject *o, FXSelector s, void *d)
long onCmdInsertColumn(FXObject *o, FXSelector s, void *d)
MFXEditableTable(FXComposite *p, FXObject *tgt=NULL, FXSelector sel=0, FXuint opts=0, FXint x=0, FXint y=0, FXint w=0, FXint h=0, FXint pl=DEFAULT_MARGIN, FXint pr=DEFAULT_MARGIN, FXint pt=DEFAULT_MARGIN, FXint pb=DEFAULT_MARGIN)
long onUpdDeleteRow(FXObject *o, FXSelector s, void *d)
virtual void editEnd()
long onHScrollerDragged(FXObject *o, FXSelector s, void *d)
long onFocusOut(FXObject *o, FXSelector s, void *d)
FXTableItem * myEditedItem
long onCmdDeleteRow(FXObject *o, FXSelector s, void *d)
long onKeyRelease(FXObject *sender, FXSelector sel, void *ptr)
long onEditKeyPress(FXObject *, FXSelector, void *ptr)
long onCmdHorzGrid(FXObject *o, FXSelector s, void *d)
long onClipboardRequest(FXObject *o, FXSelector s, void *d)
long onRightBtnPress(FXObject *o, FXSelector s, void *d)
virtual void editItem(FXTableItem *item, FXint how)
long onFocusIn(FXObject *o, FXSelector s, void *d)
FXTableItem * item