SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
MFXEditableTable.h
Go to the documentation of this file.
1 /****************************************************************************/
7 // missing_desc
8 /****************************************************************************/
9 // SUMO, Simulation of Urban MObility; see http://sumo.dlr.de/
10 // Copyright (C) 2004-2016 DLR (http://www.dlr.de/) and contributors
11 /****************************************************************************/
12 //
13 // This file is part of SUMO.
14 // SUMO is free software: you can redistribute it and/or modify
15 // it under the terms of the GNU General Public License as published by
16 // the Free Software Foundation, either version 3 of the License, or
17 // (at your option) any later version.
18 //
19 /****************************************************************************/
20 #ifndef MFXEditableTable_h
21 #define MFXEditableTable_h
22 
23 
24 // ===========================================================================
25 // included modules
26 // ===========================================================================
27 #ifdef _MSC_VER
28 #include <windows_config.h>
29 #else
30 #include <config.h>
31 #endif
32 
33 #include <fx.h>
34 #include <set>
35 
37  FXTableItem* item;
38  int row;
39  int col;
40  bool updateOnly;
41 };
42 
43 enum {
44  EDITTABLE_NEXTROW = 0x02000000
45 };
46 
47 
48 class MFXEditableTable : public FXTable {
49  FXDECLARE(MFXEditableTable)
50 public:
51  enum {
52  ID_LABELEDIT = FXTable::ID_LAST,
58  };
59  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);
61 
62 public:
63  long onLeftBtnPress(FXObject* sender, FXSelector sel, void* ptr);
64  long onLeftBtnRelease(FXObject* sender, FXSelector sel, void* ptr);
65  long onLeftBtnClicked(FXObject* sender, FXSelector sel, void* ptr);
66 
67  virtual void editItem(FXTableItem* item, FXint how);
68  virtual void editEnd();
69  long onEditEnd(FXObject*, FXSelector, void*);
70  virtual void editCancel();
71  long onEditKeyPress(FXObject*, FXSelector, void* ptr);
72  long onKeyRelease(FXObject* sender, FXSelector sel, void* ptr);
73  long onEditFocusOut(FXObject*, FXSelector, void*);
74 // long onTipTimer(FXObject* sender, FXSelector sel, void* ptr);
75  long onRightBtnRelease(FXObject* sender, FXSelector sel, void* ptr);
76 
77 
78  long onHScrollerChanged(FXObject* o, FXSelector s, void* d);
79  long onVScrollerChanged(FXObject* o, FXSelector s, void* d);
80  long onHScrollerDragged(FXObject* o, FXSelector s, void* d);
81  long onVScrollerDragged(FXObject* o, FXSelector s, void* d);
82 
83  long onAutoScroll(FXObject* o, FXSelector s, void* d);
84  long onUngrabbed(FXObject* o, FXSelector s, void* d);
85  long onRightBtnPress(FXObject* o, FXSelector s, void* d);
86  long onTabKeyPress(FXObject* o, FXSelector s, void* d);
87  long onTabKeyRelease(FXObject* o, FXSelector s, void* d);
88  long onFocusIn(FXObject* o, FXSelector s, void* d);
89  long onFocusOut(FXObject* o, FXSelector s, void* d);
90  long onSelectionLost(FXObject* o, FXSelector s, void* d);
91  long onSelectionGained(FXObject* o, FXSelector s, void* d);
92  long onSelectionRequest(FXObject* o, FXSelector s, void* d);
93  long onClipboardLost(FXObject* o, FXSelector s, void* d);
94  long onClipboardGained(FXObject* o, FXSelector s, void* d);
95  long onClipboardRequest(FXObject* o, FXSelector s, void* d);
96  long onDoubleClicked(FXObject* o, FXSelector s, void* d);
97  long onTripleClicked(FXObject* o, FXSelector s, void* d);
98  long onCommand(FXObject* o, FXSelector s, void* d);
99  long onUpdHorzGrid(FXObject* o, FXSelector s, void* d);
100  long onUpdVertGrid(FXObject* o, FXSelector s, void* d);
101  long onCmdHorzGrid(FXObject* o, FXSelector s, void* d);
102  long onCmdVertGrid(FXObject* o, FXSelector s, void* d);
103  long onCmdDeleteColumn(FXObject* o, FXSelector s, void* d);
104  long onUpdDeleteColumn(FXObject* o, FXSelector s, void* d);
105  long onCmdDeleteRow(FXObject* o, FXSelector s, void* d);
106  long onUpdDeleteRow(FXObject* o, FXSelector s, void* d);
107  long onCmdInsertColumn(FXObject* o, FXSelector s, void* d);
108  long onCmdInsertRow(FXObject* o, FXSelector s, void* d);
109 
110  long onCmdMoveLeft(FXObject* o, FXSelector s, void* d);
111  long onCmdMoveRight(FXObject* o, FXSelector s, void* d);
112  long onCmdMoveUp(FXObject* o, FXSelector s, void* d);
113  long onCmdMoveDown(FXObject* o, FXSelector s, void* d);
114  long onCmdMoveHome(FXObject* o, FXSelector s, void* d);
115  long onCmdMoveEnd(FXObject* o, FXSelector s, void* d);
116  long onCmdMoveTop(FXObject* o, FXSelector s, void* d);
117  long onCmdMoveBottom(FXObject* o, FXSelector s, void* d);
118  long onCmdMovePageDown(FXObject* o, FXSelector s, void* d);
119  long onCmdMovePageUp(FXObject* o, FXSelector s, void* d);
120 
121  long onCmdSelectRowIndex(FXObject* o, FXSelector s, void* d);
122  long onCmdSelectColumnIndex(FXObject* o, FXSelector s, void* d);
123  long onCmdSelectColumn(FXObject* o, FXSelector s, void* d);
124  long onCmdSelectRow(FXObject* o, FXSelector s, void* d);
125  long onCmdSelectCell(FXObject* o, FXSelector s, void* d);
126  long onCmdSelectAll(FXObject* o, FXSelector s, void* d);
127  long onCmdDeselectAll(FXObject* o, FXSelector s, void* d);
128  long onCmdMark(FXObject* o, FXSelector s, void* d);
129  long onCmdExtend(FXObject* o, FXSelector s, void* d);
130 
131 
132  void writeProtectCol(int col, bool val = true);
133 
134 
135 protected:
136  FXTextField* myEditor;
137  FXTableItem* myEditedItem;
139  std::set<int> myWriteProtectedCols;
140  FXString myPreviousText;
141 
142 protected:
144 
145 };
146 
147 
148 #endif
149 
150 /****************************************************************************/
151 
long onCmdMoveTop(FXObject *o, FXSelector s, void *d)
long onUpdVertGrid(FXObject *o, FXSelector s, void *d)
long onEditEnd(FXObject *, FXSelector, void *)
long onCmdMark(FXObject *o, FXSelector s, void *d)
long onCmdSelectRow(FXObject *o, FXSelector s, void *d)
long onHScrollerChanged(FXObject *o, FXSelector s, void *d)
long onClipboardRequest(FXObject *o, FXSelector s, void *d)
virtual void editItem(FXTableItem *item, FXint how)
long onUpdDeleteColumn(FXObject *o, FXSelector s, void *d)
long onCmdSelectRowIndex(FXObject *o, FXSelector s, void *d)
long onCmdSelectColumnIndex(FXObject *o, FXSelector s, void *d)
long onCmdMovePageUp(FXObject *o, FXSelector s, void *d)
long onFocusIn(FXObject *o, FXSelector s, void *d)
long onCmdInsertColumn(FXObject *o, FXSelector s, void *d)
long onCmdMoveRight(FXObject *o, FXSelector s, void *d)
long onRightBtnPress(FXObject *o, FXSelector s, void *d)
long onCmdSelectCell(FXObject *o, FXSelector s, void *d)
FXTableItem * myEditedItem
long onDoubleClicked(FXObject *o, FXSelector s, void *d)
long onCmdInsertRow(FXObject *o, FXSelector s, void *d)
long onRightBtnRelease(FXObject *sender, FXSelector sel, void *ptr)
long onClipboardLost(FXObject *o, FXSelector s, void *d)
long onAutoScroll(FXObject *o, FXSelector s, void *d)
long onCmdVertGrid(FXObject *o, FXSelector s, void *d)
long onCmdDeleteRow(FXObject *o, FXSelector s, void *d)
long onCmdMoveBottom(FXObject *o, FXSelector s, void *d)
long onFocusOut(FXObject *o, FXSelector s, void *d)
FXTableItem * item
long onCmdMoveHome(FXObject *o, FXSelector s, void *d)
long onCmdSelectAll(FXObject *o, FXSelector s, void *d)
long onCmdMovePageDown(FXObject *o, FXSelector s, void *d)
long onHScrollerDragged(FXObject *o, FXSelector s, void *d)
virtual void editCancel()
long onSelectionRequest(FXObject *o, FXSelector s, void *d)
long onTabKeyRelease(FXObject *o, FXSelector s, void *d)
long onSelectionLost(FXObject *o, FXSelector s, void *d)
virtual void editEnd()
long onCmdMoveLeft(FXObject *o, FXSelector s, void *d)
long onLeftBtnRelease(FXObject *sender, FXSelector sel, void *ptr)
long onKeyRelease(FXObject *sender, FXSelector sel, void *ptr)
long onUpdDeleteRow(FXObject *o, FXSelector s, void *d)
long onVScrollerChanged(FXObject *o, FXSelector s, void *d)
long onClipboardGained(FXObject *o, FXSelector s, void *d)
long onSelectionGained(FXObject *o, FXSelector s, void *d)
long onCmdExtend(FXObject *o, FXSelector s, void *d)
long onCmdMoveEnd(FXObject *o, FXSelector s, void *d)
long onEditFocusOut(FXObject *, FXSelector, void *)
long onUngrabbed(FXObject *o, FXSelector s, void *d)
long onVScrollerDragged(FXObject *o, FXSelector s, void *d)
long onCommand(FXObject *o, FXSelector s, void *d)
long onCmdDeselectAll(FXObject *o, FXSelector s, void *d)
long onCmdSelectColumn(FXObject *o, FXSelector s, void *d)
long onTripleClicked(FXObject *o, FXSelector s, void *d)
long onLeftBtnPress(FXObject *sender, FXSelector sel, void *ptr)
void writeProtectCol(int col, bool val=true)
FXTextField * myEditor
long onEditKeyPress(FXObject *, FXSelector, void *ptr)
long onCmdDeleteColumn(FXObject *o, FXSelector s, void *d)
long onCmdHorzGrid(FXObject *o, FXSelector s, void *d)
long onCmdMoveUp(FXObject *o, FXSelector s, void *d)
long onTabKeyPress(FXObject *o, FXSelector s, void *d)
long onUpdHorzGrid(FXObject *o, FXSelector s, void *d)
long onCmdMoveDown(FXObject *o, FXSelector s, void *d)
long onLeftBtnClicked(FXObject *sender, FXSelector sel, void *ptr)
std::set< int > myWriteProtectedCols