96FXIMPLEMENT(
MFXEditableTable, FXTable, MFXEditableTableMap, ARRAYNUMBER(MFXEditableTableMap))
100 FXSelector sel, FXuint opts,
101 FXint x, FXint y, FXint w, FXint h,
102 FXint pl, FXint pr, FXint pt, FXint pb)
103 : FXTable(p, tgt, sel, opts, x, y, w, h, pl, pr, pt, pb),
104 myEditedItem(
nullptr) {
106 new FXTextField((FXComposite*)getParent(), 1,
this,
107 ID_EDITOR, FRAME_NORMAL | LAYOUT_EXPLICIT);
109 flags |= FLAG_ENABLED | FLAG_DROPTARGET;
119 FXTable::onLeftBtnPress(sender, sel, ptr);
126 FXTablePos* e = (FXTablePos*)ptr;
129 if (c == -1 || r == -1) {
132 killSelection(
false);
136 if (c >= 0 && r >= 0) {
147 FXTable::onLeftBtnRelease(sender, sel, ptr);
159 if (item ==
nullptr) {
167 FXTableItem* it = item;
169 FXint x = getColumnX(
myEditedCol) + getRowHeader()->getWidth() + xpos;
170 FXint y = getRowY(
myEditedRow) + getColumnHeader()->getHeight() + ypos;
171 FXIcon* icon = item->getIcon();
173 x += icon->getWidth() + 4;
175 FXint vw = getViewportWidth();
176 if (vertical->shown()) {
177 vw -= vertical->getWidth();
191 }
else if (how ==
'A') {
210 FXString text =
myEditor->getText();
212 if (item->getText() == text) {
215 if (handle(item, FXSEL(SEL_COMMAND,
ID_EDITEND), &text)) {
217 handle(
this, FXSEL(SEL_CHANGED, 0), item);
225 if (!target->handle(
this, FXSEL(SEL_CHANGED,
ID_TEXT_CHANGED), (
void*) &edited)) {
254 FXEvent* e = (FXEvent*)ptr;
277 FXint key = ((FXEvent*)ptr)->code;
278 if ( key == KEY_Return || key == KEY_KP_Enter) {
283 return FXTable::onKeyRelease(sender, sel, ptr);
310 return FXTable::onRightBtnRelease(sender, sel, ptr);
318 return FXScrollArea::onHScrollerChanged(o, s, d);
325 return FXScrollArea::onVScrollerChanged(o, s, d);
332 return FXScrollArea::onHScrollerDragged(o, s, d);
339 return FXScrollArea::onVScrollerDragged(o, s, d);
346 return FXTable::onAutoScroll(o, s, d);
353 return FXTable::onUngrabbed(o, s, d);
360 return FXTable::onRightBtnPress(o, s, d);
367 return FXTable::onKeyPress(o, s, d);
374 return FXTable::onKeyRelease(o, s, d);
381 return FXTable::onFocusIn(o, s, d);
388 return FXTable::onFocusOut(o, s, d);
395 return FXTable::onSelectionLost(o, s, d);
402 return FXTable::onSelectionGained(o, s, d);
409 return FXTable::onSelectionRequest(o, s, d);
416 return FXTable::onClipboardLost(o, s, d);
423 return FXTable::onClipboardGained(o, s, d);
430 return FXTable::onClipboardRequest(o, s, d);
453 return FXTable::onCommand(o, s, d);
460 return FXTable::onUpdHorzGrid(o, s, d);
467 return FXTable::onUpdVertGrid(o, s, d);
474 return FXTable::onCmdHorzGrid(o, s, d);
481 return FXTable::onCmdVertGrid(o, s, d);
537 return FXTable::onCmdMoveLeft(o, s, d);
544 return FXTable::onCmdMoveRight(o, s, d);
551 return FXTable::onCmdMoveUp(o, s, d);
558 return FXTable::onCmdMoveDown(o, s, d);
565 return FXTable::onCmdMoveHome(o, s, d);
572 return FXTable::onCmdMoveEnd(o, s, d);
579 return FXTable::onCmdMoveTop(o, s, d);
586 return FXTable::onCmdMoveBottom(o, s, d);
593 return FXTable::onCmdMovePageDown(o, s, d);
600 return FXTable::onCmdMovePageUp(o, s, d);
608 return FXTable::onCmdSelectRowIndex(o, s, d);
631 return FXTable::onCmdSelectRow(o, s, d);
662 return FXTable::onCmdMark(o, s, d);
669 return FXTable::onCmdExtend(o, s, d);
FXDEFMAP(MFXEditableTable) MFXEditableTableMap[]
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)
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)
long onUpdDeleteRow(FXObject *o, FXSelector s, void *d)
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)