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;
32};
33
34enum {
35 EDITTABLE_NEXTROW = 0x02000000
36};
37
38
39class MFXEditableTable : public FXTable {
40 FXDECLARE(MFXEditableTable)
41public:
42 enum {
43 ID_LABELEDIT = FXTable::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
53public:
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
126protected:
127 FXTextField* myEditor;
128 FXTableItem* myEditedItem;
130 std::set<int> myWriteProtectedCols;
132
133protected:
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