97 FXIMPLEMENT(
MFXEditableTable, FXTable, MFXEditableTableMap, ARRAYNUMBER(MFXEditableTableMap))
101 FXSelector sel, FXuint opts,
102 FXint x, FXint y, FXint w, FXint h,
103 FXint pl, FXint pr, FXint pt, FXint pb)
104 : FXTable(p, tgt, sel, opts, x, y, w, h, pl, pr, pt, pb),
105 myEditedItem(
nullptr) {
107 new FXTextField((FXComposite*)getParent(), 1,
this,
108 ID_EDITOR, FRAME_NORMAL | LAYOUT_EXPLICIT);
110 flags |= FLAG_ENABLED | FLAG_DROPTARGET;
120 FXTable::onLeftBtnPress(sender, sel, ptr);
127 FXTablePos* e = (FXTablePos*)ptr;
130 if (c == -1 || r == -1) {
133 killSelection(
false);
137 if (c >= 0 && r >= 0) {
148 FXTable::onLeftBtnRelease(sender, sel, ptr);
160 if (item ==
nullptr) {
168 FXTableItem* it = item;
170 FXint x = getColumnX(
myEditedCol) + getRowHeader()->getWidth() + xpos;
171 FXint y = getRowY(
myEditedRow) + getColumnHeader()->getHeight() + ypos;
172 FXIcon* icon = item->getIcon();
174 x += icon->getWidth() + 4;
176 FXint vw = getViewportWidth();
177 if (vertical->shown()) {
178 vw -= vertical->getWidth();
192 }
else if (how ==
'A') {
211 FXString text =
myEditor->getText();
213 if (item->getText() == text) {
216 if (handle(item, FXSEL(SEL_COMMAND,
ID_EDITEND), &text)) {
218 handle(
this, FXSEL(SEL_CHANGED, 0), item);
226 if (!target->handle(
this, FXSEL(SEL_CHANGED,
ID_TEXT_CHANGED), (
void*) &edited)) {
255 FXEvent* e = (FXEvent*)ptr;
278 FXint key = ((FXEvent*)ptr)->code;
279 if ( key == KEY_Return || key == KEY_KP_Enter) {
284 return FXTable::onKeyRelease(sender, sel, ptr);
311 return FXTable::onRightBtnRelease(sender, sel, ptr);
319 return FXScrollArea::onHScrollerChanged(o, s, d);
326 return FXScrollArea::onVScrollerChanged(o, s, d);
333 return FXScrollArea::onHScrollerDragged(o, s, d);
340 return FXScrollArea::onVScrollerDragged(o, s, d);
347 return FXTable::onAutoScroll(o, s, d);
354 return FXTable::onUngrabbed(o, s, d);
361 return FXTable::onRightBtnPress(o, s, d);
368 return FXTable::onKeyPress(o, s, d);
375 return FXTable::onKeyRelease(o, s, d);
382 return FXTable::onFocusIn(o, s, d);
389 return FXTable::onFocusOut(o, s, d);
396 return FXTable::onSelectionLost(o, s, d);
403 return FXTable::onSelectionGained(o, s, d);
410 return FXTable::onSelectionRequest(o, s, d);
417 return FXTable::onClipboardLost(o, s, d);
424 return FXTable::onClipboardGained(o, s, d);
431 return FXTable::onClipboardRequest(o, s, d);
454 return FXTable::onCommand(o, s, d);
461 return FXTable::onUpdHorzGrid(o, s, d);
468 return FXTable::onUpdVertGrid(o, s, d);
475 return FXTable::onCmdHorzGrid(o, s, d);
482 return FXTable::onCmdVertGrid(o, s, d);
538 return FXTable::onCmdMoveLeft(o, s, d);
545 return FXTable::onCmdMoveRight(o, s, d);
552 return FXTable::onCmdMoveUp(o, s, d);
559 return FXTable::onCmdMoveDown(o, s, d);
566 return FXTable::onCmdMoveHome(o, s, d);
573 return FXTable::onCmdMoveEnd(o, s, d);
580 return FXTable::onCmdMoveTop(o, s, d);
587 return FXTable::onCmdMoveBottom(o, s, d);
594 return FXTable::onCmdMovePageDown(o, s, d);
601 return FXTable::onCmdMovePageUp(o, s, d);
609 return FXTable::onCmdSelectRowIndex(o, s, d);
632 return FXTable::onCmdSelectRow(o, s, d);
663 return FXTable::onCmdMark(o, s, d);
670 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)