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-2019 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials
5 // are made available under the terms of the Eclipse Public License v2.0
6 // which accompanies this distribution, and is available at
7 // http://www.eclipse.org/legal/epl-v20.html
8 // SPDX-License-Identifier: EPL-2.0
9 /****************************************************************************/
15 // missing_desc
16 /****************************************************************************/
17 #ifndef MFXEditableTable_h
18 #define MFXEditableTable_h
19 
20 
21 // ===========================================================================
22 // included modules
23 // ===========================================================================
24 #include <config.h>
25 
26 #include <fx.h>
27 #include <set>
28 
30  FXTableItem* item;
31  int row;
32  int col;
33  bool updateOnly;
34 };
35 
36 enum {
37  EDITTABLE_NEXTROW = 0x02000000
38 };
39 
40 
41 class MFXEditableTable : public FXTable {
42  FXDECLARE(MFXEditableTable)
43 public:
44  enum {
45  ID_LABELEDIT = FXTable::ID_LAST,
51  };
52  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);
54 
55 public:
56  long onLeftBtnPress(FXObject* sender, FXSelector sel, void* ptr);
57  long onLeftBtnRelease(FXObject* sender, FXSelector sel, void* ptr);
58  long onLeftBtnClicked(FXObject* sender, FXSelector sel, void* ptr);
59 
60  virtual void editItem(FXTableItem* item, FXint how);
61  virtual void editEnd();
62  long onEditEnd(FXObject*, FXSelector, void*);
63  virtual void editCancel();
64  long onEditKeyPress(FXObject*, FXSelector, void* ptr);
65  long onKeyRelease(FXObject* sender, FXSelector sel, void* ptr);
66  long onEditFocusOut(FXObject*, FXSelector, void*);
67 // long onTipTimer(FXObject* sender, FXSelector sel, void* ptr);
68  long onRightBtnRelease(FXObject* sender, FXSelector sel, void* ptr);
69 
70 
71  long onHScrollerChanged(FXObject* o, FXSelector s, void* d);
72  long onVScrollerChanged(FXObject* o, FXSelector s, void* d);
73  long onHScrollerDragged(FXObject* o, FXSelector s, void* d);
74  long onVScrollerDragged(FXObject* o, FXSelector s, void* d);
75 
76  long onAutoScroll(FXObject* o, FXSelector s, void* d);
77  long onUngrabbed(FXObject* o, FXSelector s, void* d);
78  long onRightBtnPress(FXObject* o, FXSelector s, void* d);
79  long onTabKeyPress(FXObject* o, FXSelector s, void* d);
80  long onTabKeyRelease(FXObject* o, FXSelector s, void* d);
81  long onFocusIn(FXObject* o, FXSelector s, void* d);
82  long onFocusOut(FXObject* o, FXSelector s, void* d);
83  long onSelectionLost(FXObject* o, FXSelector s, void* d);
84  long onSelectionGained(FXObject* o, FXSelector s, void* d);
85  long onSelectionRequest(FXObject* o, FXSelector s, void* d);
86  long onClipboardLost(FXObject* o, FXSelector s, void* d);
87  long onClipboardGained(FXObject* o, FXSelector s, void* d);
88  long onClipboardRequest(FXObject* o, FXSelector s, void* d);
89  long onDoubleClicked(FXObject* o, FXSelector s, void* d);
90  long onTripleClicked(FXObject* o, FXSelector s, void* d);
91  long onCommand(FXObject* o, FXSelector s, void* d);
92  long onUpdHorzGrid(FXObject* o, FXSelector s, void* d);
93  long onUpdVertGrid(FXObject* o, FXSelector s, void* d);
94  long onCmdHorzGrid(FXObject* o, FXSelector s, void* d);
95  long onCmdVertGrid(FXObject* o, FXSelector s, void* d);
96  long onCmdDeleteColumn(FXObject* o, FXSelector s, void* d);
97  long onUpdDeleteColumn(FXObject* o, FXSelector s, void* d);
98  long onCmdDeleteRow(FXObject* o, FXSelector s, void* d);
99  long onUpdDeleteRow(FXObject* o, FXSelector s, void* d);
100  long onCmdInsertColumn(FXObject* o, FXSelector s, void* d);
101  long onCmdInsertRow(FXObject* o, FXSelector s, void* d);
102 
103  long onCmdMoveLeft(FXObject* o, FXSelector s, void* d);
104  long onCmdMoveRight(FXObject* o, FXSelector s, void* d);
105  long onCmdMoveUp(FXObject* o, FXSelector s, void* d);
106  long onCmdMoveDown(FXObject* o, FXSelector s, void* d);
107  long onCmdMoveHome(FXObject* o, FXSelector s, void* d);
108  long onCmdMoveEnd(FXObject* o, FXSelector s, void* d);
109  long onCmdMoveTop(FXObject* o, FXSelector s, void* d);
110  long onCmdMoveBottom(FXObject* o, FXSelector s, void* d);
111  long onCmdMovePageDown(FXObject* o, FXSelector s, void* d);
112  long onCmdMovePageUp(FXObject* o, FXSelector s, void* d);
113 
114  long onCmdSelectRowIndex(FXObject* o, FXSelector s, void* d);
115  long onCmdSelectColumnIndex(FXObject* o, FXSelector s, void* d);
116  long onCmdSelectColumn(FXObject* o, FXSelector s, void* d);
117  long onCmdSelectRow(FXObject* o, FXSelector s, void* d);
118  long onCmdSelectCell(FXObject* o, FXSelector s, void* d);
119  long onCmdSelectAll(FXObject* o, FXSelector s, void* d);
120  long onCmdDeselectAll(FXObject* o, FXSelector s, void* d);
121  long onCmdMark(FXObject* o, FXSelector s, void* d);
122  long onCmdExtend(FXObject* o, FXSelector s, void* d);
123 
124 
125  void writeProtectCol(int col, bool val = true);
126 
127 
128 protected:
129  FXTextField* myEditor;
130  FXTableItem* myEditedItem;
132  std::set<int> myWriteProtectedCols;
133  FXString myPreviousText;
134 
135 protected:
137 
138 };
139 
140 
141 #endif
142 
143 /****************************************************************************/
144 
MFXEditableTable::onCmdMovePageDown
long onCmdMovePageDown(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:594
MFXEditableTable::onCmdDeleteColumn
long onCmdDeleteColumn(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:489
MFXEditableTable::onCmdSelectCell
long onCmdSelectCell(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:639
MFXEditableTable::onCmdMoveBottom
long onCmdMoveBottom(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:587
MFXEditableTable::myEditedItem
FXTableItem * myEditedItem
Definition: MFXEditableTable.h:130
MFXEditableTable::onCmdInsertRow
long onCmdInsertRow(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:529
MFXEditableTable::onAutoScroll
long onAutoScroll(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:347
MFXEditedTableItem::updateOnly
bool updateOnly
Definition: MFXEditableTable.h:33
MFXEditableTable::onCmdInsertColumn
long onCmdInsertColumn(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:521
MFXEditableTable::MFXEditableTable
MFXEditableTable()
Definition: MFXEditableTable.h:136
MFXEditableTable::ID_LAST
Definition: MFXEditableTable.h:50
MFXEditableTable::ID_EDITEND
Definition: MFXEditableTable.h:46
MFXEditableTable::onUpdVertGrid
long onUpdVertGrid(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:468
MFXEditableTable::onCmdExtend
long onCmdExtend(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:670
MFXEditableTable::onCmdMark
long onCmdMark(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:663
MFXEditableTable::onCmdMoveUp
long onCmdMoveUp(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:552
MFXEditedTableItem::item
FXTableItem * item
Definition: MFXEditableTable.h:30
MFXEditedTableItem::col
int col
Definition: MFXEditableTable.h:32
MFXEditableTable::onCmdMovePageUp
long onCmdMovePageUp(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:601
MFXEditableTable::onCmdMoveHome
long onCmdMoveHome(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:566
MFXEditableTable::writeProtectCol
void writeProtectCol(int col, bool val=true)
Definition: MFXEditableTable.cpp:677
MFXEditableTable::onVScrollerChanged
long onVScrollerChanged(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:326
MFXEditableTable::onCmdMoveTop
long onCmdMoveTop(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:580
MFXEditableTable::onFocusIn
long onFocusIn(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:382
MFXEditableTable::onLeftBtnClicked
long onLeftBtnClicked(FXObject *sender, FXSelector sel, void *ptr)
Definition: MFXEditableTable.cpp:128
MFXEditableTable::ID_TEXT_CHANGED
Definition: MFXEditableTable.h:49
MFXEditableTable::onCommand
long onCommand(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:454
MFXEditableTable::onRightBtnRelease
long onRightBtnRelease(FXObject *sender, FXSelector sel, void *ptr)
Definition: MFXEditableTable.cpp:306
MFXEditableTable::onHScrollerDragged
long onHScrollerDragged(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:333
MFXEditableTable::editCancel
virtual void editCancel()
Definition: MFXEditableTable.cpp:244
MFXEditableTable::onUpdHorzGrid
long onUpdHorzGrid(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:461
MFXEditableTable::onEditEnd
long onEditEnd(FXObject *, FXSelector, void *)
Definition: MFXEditableTable.cpp:236
EDITTABLE_NEXTROW
Definition: MFXEditableTable.h:37
MFXEditableTable::onClipboardRequest
long onClipboardRequest(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:431
MFXEditableTable::onCmdHorzGrid
long onCmdHorzGrid(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:475
MFXEditableTable::onCmdMoveEnd
long onCmdMoveEnd(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:573
MFXEditableTable::onUpdDeleteRow
long onUpdDeleteRow(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:513
MFXEditableTable::myEditor
FXTextField * myEditor
Definition: MFXEditableTable.h:129
MFXEditableTable::onDoubleClicked
long onDoubleClicked(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:438
MFXEditableTable::onTabKeyPress
long onTabKeyPress(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:368
MFXEditableTable::onEditKeyPress
long onEditKeyPress(FXObject *, FXSelector, void *ptr)
Definition: MFXEditableTable.cpp:256
MFXEditableTable::ID_NEXTLINE
Definition: MFXEditableTable.h:47
MFXEditableTable::onFocusOut
long onFocusOut(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:389
MFXEditableTable::myWriteProtectedCols
std::set< int > myWriteProtectedCols
Definition: MFXEditableTable.h:132
MFXEditableTable::onCmdSelectRow
long onCmdSelectRow(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:632
MFXEditableTable::onCmdSelectColumn
long onCmdSelectColumn(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:624
MFXEditableTable::onCmdDeselectAll
long onCmdDeselectAll(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:655
MFXEditableTable::onCmdDeleteRow
long onCmdDeleteRow(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:505
MFXEditableTable::onTabKeyRelease
long onTabKeyRelease(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:375
MFXEditableTable::onSelectionRequest
long onSelectionRequest(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:410
MFXEditableTable::ID_LABELEDIT
Definition: MFXEditableTable.h:45
MFXEditableTable::onCmdSelectAll
long onCmdSelectAll(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:647
MFXEditableTable::onKeyRelease
long onKeyRelease(FXObject *sender, FXSelector sel, void *ptr)
Definition: MFXEditableTable.cpp:279
MFXEditableTable::onLeftBtnRelease
long onLeftBtnRelease(FXObject *sender, FXSelector sel, void *ptr)
Definition: MFXEditableTable.cpp:149
MFXEditableTable::onRightBtnPress
long onRightBtnPress(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:361
MFXEditableTable::myPreviousText
FXString myPreviousText
Definition: MFXEditableTable.h:133
MFXEditableTable::onLeftBtnPress
long onLeftBtnPress(FXObject *sender, FXSelector sel, void *ptr)
Definition: MFXEditableTable.cpp:120
MFXEditableTable::onHScrollerChanged
long onHScrollerChanged(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:319
MFXEditableTable::onVScrollerDragged
long onVScrollerDragged(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:340
MFXEditableTable::onUpdDeleteColumn
long onUpdDeleteColumn(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:497
MFXEditableTable::onCmdMoveLeft
long onCmdMoveLeft(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:538
MFXEditableTable::~MFXEditableTable
~MFXEditableTable()
Definition: MFXEditableTable.cpp:116
MFXEditableTable::onTripleClicked
long onTripleClicked(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:446
MFXEditableTable::myEditedCol
FXint myEditedCol
Definition: MFXEditableTable.h:131
config.h
MFXEditableTable::onEditFocusOut
long onEditFocusOut(FXObject *, FXSelector, void *)
Definition: MFXEditableTable.cpp:291
MFXEditableTable::onCmdSelectRowIndex
long onCmdSelectRowIndex(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:609
MFXEditableTable::onClipboardGained
long onClipboardGained(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:424
MFXEditedTableItem
Definition: MFXEditableTable.h:29
MFXEditableTable::onCmdMoveRight
long onCmdMoveRight(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:545
MFXEditableTable::onSelectionGained
long onSelectionGained(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:403
MFXEditableTable::editItem
virtual void editItem(FXTableItem *item, FXint how)
Definition: MFXEditableTable.cpp:161
MFXEditableTable::editEnd
virtual void editEnd()
Definition: MFXEditableTable.cpp:205
MFXEditableTable::myEditedRow
FXint myEditedRow
Definition: MFXEditableTable.h:131
MFXEditableTable::onSelectionLost
long onSelectionLost(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:396
MFXEditableTable::onCmdMoveDown
long onCmdMoveDown(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:559
MFXEditableTable::onCmdSelectColumnIndex
long onCmdSelectColumnIndex(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:616
MFXEditedTableItem::row
int row
Definition: MFXEditableTable.h:31
MFXEditableTable::ID_EDITOR
Definition: MFXEditableTable.h:48
MFXEditableTable::onClipboardLost
long onClipboardLost(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:417
MFXEditableTable::onUngrabbed
long onUngrabbed(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:354
MFXEditableTable::onCmdVertGrid
long onCmdVertGrid(FXObject *o, FXSelector s, void *d)
Definition: MFXEditableTable.cpp:482
MFXEditableTable
Definition: MFXEditableTable.h:41