diff --git a/ChangeLog b/ChangeLog index 64226301..0a6589d2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,12 @@ +2017-02-24 Markus Gans + * FListBox gets the option to save a data pointer for + every FListBoxItem element + 2017-02-19 Markus Gans * New FWidget methods setMinimumWidth(), setMinimumHeight(), setMaximumWidth() and setMaximumHeight() * FButtonGroup now inherits from FScrollView. This supports - many buttons to be displayed in a smaller frame. + many buttons to be displayed in a smaller frame. 2017-02-18 Markus Gans * Allows a window to have more than one FScrollView widget diff --git a/src/fbuttongroup.cpp b/src/fbuttongroup.cpp index bec95946..adb314e8 100644 --- a/src/fbuttongroup.cpp +++ b/src/fbuttongroup.cpp @@ -326,7 +326,7 @@ void FButtonGroup::onFocusIn (FFocusEvent* in_ev) } //---------------------------------------------------------------------- -void FButtonGroup::cb_buttonToggled (FWidget* widget, void*) +void FButtonGroup::cb_buttonToggled (FWidget* widget, data_ptr) { FToggleButton* button = static_cast(widget); FObjectList::const_iterator iter, end; diff --git a/src/fbuttongroup.h b/src/fbuttongroup.h index c4b5c698..ebbdb825 100644 --- a/src/fbuttongroup.h +++ b/src/fbuttongroup.h @@ -79,7 +79,7 @@ class FButtonGroup : public FScrollView void onFocusIn (FFocusEvent*); // Callback method - void cb_buttonToggled (FWidget*, void*); + void cb_buttonToggled (FWidget*, data_ptr); protected: // Accessor diff --git a/src/fdialog.cpp b/src/fdialog.cpp index cbf51a41..db81eeba 100644 --- a/src/fdialog.cpp +++ b/src/fdialog.cpp @@ -1443,7 +1443,7 @@ void FDialog::delDialog (FWidget* obj) } //---------------------------------------------------------------------- -void FDialog::cb_move (FWidget*, void*) +void FDialog::cb_move (FWidget*, data_ptr) { if ( isZoomed() ) return; @@ -1485,7 +1485,7 @@ void FDialog::cb_move (FWidget*, void*) } //---------------------------------------------------------------------- -void FDialog::cb_zoom (FWidget*, void*) +void FDialog::cb_zoom (FWidget*, data_ptr) { dialog_menu->unselectItem(); dialog_menu->hide(); @@ -1496,7 +1496,7 @@ void FDialog::cb_zoom (FWidget*, void*) } //---------------------------------------------------------------------- -void FDialog::cb_close (FWidget*, void*) +void FDialog::cb_close (FWidget*, data_ptr) { dialog_menu->unselectItem(); dialog_menu->hide(); diff --git a/src/fdialog.h b/src/fdialog.h index c9b67d53..77b26437 100644 --- a/src/fdialog.h +++ b/src/fdialog.h @@ -146,9 +146,9 @@ class FDialog : public FWindow static void delDialog (FWidget*); // Callback methods - void cb_move (FWidget*, void*); - void cb_zoom (FWidget*, void*); - void cb_close (FWidget*, void*); + void cb_move (FWidget*, data_ptr); + void cb_zoom (FWidget*, data_ptr); + void cb_close (FWidget*, data_ptr); // Data Members FString tb_text; // title bar text diff --git a/src/fevent.h b/src/fevent.h index 7ab084fb..a83b8aac 100644 --- a/src/fevent.h +++ b/src/fevent.h @@ -213,14 +213,14 @@ class FAccelEvent : public FEvent // focus event FAccelEvent (int, void*); ~FAccelEvent(); - void* focusedWidget() const; - bool isAccepted() const; - void accept(); - void ignore(); + void* focusedWidget() const; + bool isAccepted() const; + void accept(); + void ignore(); protected: - bool accpt; - void* focus_widget; + bool accpt; + void* focus_widget; }; #pragma pack(pop) diff --git a/src/ffiledialog.cpp b/src/ffiledialog.cpp index a23565ea..d8c7d325 100644 --- a/src/ffiledialog.cpp +++ b/src/ffiledialog.cpp @@ -719,7 +719,7 @@ void FFileDialog::printPath (const FString& txt) } //---------------------------------------------------------------------- -void FFileDialog::cb_processActivate (FWidget*, void*) +void FFileDialog::cb_processActivate (FWidget*, data_ptr) { if ( filename->getText().includes('*') || filename->getText().includes('?') ) @@ -770,7 +770,7 @@ void FFileDialog::cb_processActivate (FWidget*, void*) } //---------------------------------------------------------------------- -void FFileDialog::cb_processRowChanged (FWidget*, void*) +void FFileDialog::cb_processRowChanged (FWidget*, data_ptr) { int n = filebrowser->currentItem(); @@ -788,7 +788,7 @@ void FFileDialog::cb_processRowChanged (FWidget*, void*) } //---------------------------------------------------------------------- -void FFileDialog::cb_processClicked (FWidget*, void*) +void FFileDialog::cb_processClicked (FWidget*, data_ptr) { uLong n = uLong(filebrowser->currentItem() - 1); @@ -799,19 +799,19 @@ void FFileDialog::cb_processClicked (FWidget*, void*) } //---------------------------------------------------------------------- -void FFileDialog::cb_processCancel (FWidget*, void*) +void FFileDialog::cb_processCancel (FWidget*, data_ptr) { done (FDialog::Reject); } //---------------------------------------------------------------------- -void FFileDialog::cb_processOpen (FWidget*, void*) +void FFileDialog::cb_processOpen (FWidget*, data_ptr) { done (FDialog::Accept); } //---------------------------------------------------------------------- -void FFileDialog::cb_processShowHidden (FWidget*, void*) +void FFileDialog::cb_processShowHidden (FWidget*, data_ptr) { setShowHiddenFiles(not show_hidden); } diff --git a/src/ffiledialog.h b/src/ffiledialog.h index d5acbffc..911a08d5 100644 --- a/src/ffiledialog.h +++ b/src/ffiledialog.h @@ -137,12 +137,12 @@ class FFileDialog : public FDialog void printPath (const FString&); // Callback methods - void cb_processActivate (FWidget*, void*); - void cb_processRowChanged (FWidget*, void*); - void cb_processClicked (FWidget*, void*); - void cb_processCancel (FWidget*, void*); - void cb_processOpen (FWidget*, void*); - void cb_processShowHidden (FWidget*, void*); + void cb_processActivate (FWidget*, data_ptr); + void cb_processRowChanged (FWidget*, data_ptr); + void cb_processClicked (FWidget*, data_ptr); + void cb_processCancel (FWidget*, data_ptr); + void cb_processOpen (FWidget*, data_ptr); + void cb_processShowHidden (FWidget*, data_ptr); // Data Members DIR* directory_stream; diff --git a/src/flabel.cpp b/src/flabel.cpp index 20fc371d..7784db43 100644 --- a/src/flabel.cpp +++ b/src/flabel.cpp @@ -246,7 +246,7 @@ void FLabel::onAccel (FAccelEvent* ev) } //---------------------------------------------------------------------- -void FLabel::cb_accel_widget_destroyed (FWidget*, void*) +void FLabel::cb_accel_widget_destroyed (FWidget*, data_ptr) { accel_widget = 0; delAccelerator(); diff --git a/src/flabel.h b/src/flabel.h index 030f7e1c..49214c1a 100644 --- a/src/flabel.h +++ b/src/flabel.h @@ -82,7 +82,7 @@ class FLabel : public FWidget void onAccel (FAccelEvent*); // Callback method - void cb_accel_widget_destroyed (FWidget*, void*); + void cb_accel_widget_destroyed (FWidget*, data_ptr); private: // Typedef diff --git a/src/flistbox.cpp b/src/flistbox.cpp index 0b917059..f92e6930 100644 --- a/src/flistbox.cpp +++ b/src/flistbox.cpp @@ -16,27 +16,31 @@ //---------------------------------------------------------------------- FListBoxItem::FListBoxItem() : text() + , data_pointer(0) , brackets(fc::NoBrackets) , selected(false) { } //---------------------------------------------------------------------- -FListBoxItem::FListBoxItem (FString& txt) +FListBoxItem::FListBoxItem (FString& txt, FWidget::data_ptr data) : text(txt) + , data_pointer(data) , brackets(fc::NoBrackets) , selected(false) { } //---------------------------------------------------------------------- -FListBoxItem::FListBoxItem (const std::string& txt) +FListBoxItem::FListBoxItem (const std::string& txt, FWidget::data_ptr data) : text(txt) + , data_pointer(data) , brackets(fc::NoBrackets) , selected(false) { } //---------------------------------------------------------------------- -FListBoxItem::FListBoxItem (const char* txt) +FListBoxItem::FListBoxItem (const char* txt, FWidget::data_ptr data) : text(txt) + , data_pointer(data) , brackets(fc::NoBrackets) , selected(false) { } @@ -249,7 +253,8 @@ void FListBox::hide() //---------------------------------------------------------------------- void FListBox::insert ( FString item , fc::brackets_type b - , bool s ) + , bool s + , data_ptr d ) { int len, element_count; @@ -273,8 +278,9 @@ void FListBox::insert ( FString item } } FListBoxItem listItem (item); - listItem.brackets = b; - listItem.selected = s; + listItem.data_pointer = d; + listItem.brackets = b; + listItem.selected = s; data.push_back (listItem); element_count = int(getCount()); @@ -289,9 +295,10 @@ void FListBox::insert ( FString item //---------------------------------------------------------------------- void FListBox::insert ( long item , fc::brackets_type b - , bool s ) + , bool s + , data_ptr d ) { - insert (FString().setNumber(item), b, s); + insert (FString().setNumber(item), b, s, d); } //---------------------------------------------------------------------- @@ -1155,7 +1162,7 @@ void FListBox::onFocusOut (FFocusEvent*) } //---------------------------------------------------------------------- -void FListBox::cb_VBarChange (FWidget*, void*) +void FListBox::cb_VBarChange (FWidget*, data_ptr) { FScrollbar::sType scrollType; int distance = 1; @@ -1262,7 +1269,7 @@ void FListBox::cb_VBarChange (FWidget*, void*) } //---------------------------------------------------------------------- -void FListBox::cb_HBarChange (FWidget*, void*) +void FListBox::cb_HBarChange (FWidget*, data_ptr) { FScrollbar::sType scrollType; int distance = 1; diff --git a/src/flistbox.h b/src/flistbox.h index 630bac11..581ccdf5 100644 --- a/src/flistbox.h +++ b/src/flistbox.h @@ -47,9 +47,9 @@ class FListBoxItem public: // Constructors FListBoxItem (); - explicit FListBoxItem (FString&); - explicit FListBoxItem (const std::string&); - explicit FListBoxItem (const char*); + explicit FListBoxItem (FString&, FWidget::data_ptr = 0); + explicit FListBoxItem (const std::string&, FWidget::data_ptr = 0); + explicit FListBoxItem (const char*, FWidget::data_ptr = 0); // Destructor virtual ~FListBoxItem(); @@ -61,6 +61,7 @@ class FListBoxItem void setText (FString&); void setText (const std::string&); void setText (const char*); + void setData (FWidget::data_ptr); private: // Friend classes @@ -68,6 +69,7 @@ class FListBoxItem // Data Members FString text; + FWidget::data_ptr data_pointer; fc::brackets_type brackets; bool selected; }; @@ -91,6 +93,10 @@ inline void FListBoxItem::setText (const std::string& txt) inline void FListBoxItem::setText (const char* txt) { text = txt; } +//---------------------------------------------------------------------- +inline void FListBoxItem::setData (FWidget::data_ptr data) +{ data_pointer = data; } + //---------------------------------------------------------------------- // class FListBox @@ -146,10 +152,12 @@ class FListBox : public FWidget void hide(); void insert ( FString , fc::brackets_type = fc::NoBrackets - , bool = false ); + , bool = false + , data_ptr = 0); void insert ( long , fc::brackets_type = fc::NoBrackets - , bool = false ); + , bool = false + , data_ptr = 0 ); void remove (int); void clear(); @@ -165,8 +173,8 @@ class FListBox : public FWidget void onFocusOut (FFocusEvent*); // Callback methods - void cb_VBarChange (FWidget*, void*); - void cb_HBarChange (FWidget*, void*); + void cb_VBarChange (FWidget*, data_ptr); + void cb_HBarChange (FWidget*, data_ptr); protected: // Methods diff --git a/src/fmenu.cpp b/src/fmenu.cpp index d48f9896..50487030 100644 --- a/src/fmenu.cpp +++ b/src/fmenu.cpp @@ -698,7 +698,7 @@ void FMenu::onMouseMove (FMouseEvent* ev) } //---------------------------------------------------------------------- -void FMenu::cb_menuitem_toggled (FWidget* widget, void*) +void FMenu::cb_menuitem_toggled (FWidget* widget, data_ptr) { FMenuItem* menuitem = static_cast(widget); std::vector::const_iterator iter, end; diff --git a/src/fmenu.h b/src/fmenu.h index 7c97faef..51ef3bb9 100644 --- a/src/fmenu.h +++ b/src/fmenu.h @@ -99,7 +99,7 @@ class FMenu : public FWindow, public FMenuList void onAccel (FAccelEvent*); // Callback method - void cb_menuitem_toggled (FWidget*, void*); + void cb_menuitem_toggled (FWidget*, data_ptr); private: // Disable copy constructor diff --git a/src/fmenubar.cpp b/src/fmenubar.cpp index 85d81a6d..f31aa125 100644 --- a/src/fmenubar.cpp +++ b/src/fmenubar.cpp @@ -446,7 +446,7 @@ void FMenuBar::onAccel (FAccelEvent* ev) } //---------------------------------------------------------------------- -void FMenuBar::cb_item_deactivated (FWidget* widget, void*) +void FMenuBar::cb_item_deactivated (FWidget* widget, data_ptr) { FMenuItem* menuitem = static_cast(widget); diff --git a/src/fmenubar.h b/src/fmenubar.h index 72fdf399..7e8cf777 100644 --- a/src/fmenubar.h +++ b/src/fmenubar.h @@ -72,7 +72,7 @@ class FMenuBar : public FWindow, public FMenuList void onAccel (FAccelEvent*); // Callback methods - void cb_item_deactivated (FWidget*, void*); + void cb_item_deactivated (FWidget*, data_ptr); private: // Disable copy constructor diff --git a/src/fmenuitem.cpp b/src/fmenuitem.cpp index 92a7dce4..76258e55 100644 --- a/src/fmenuitem.cpp +++ b/src/fmenuitem.cpp @@ -878,9 +878,9 @@ void FMenuItem::createDialogList (FMenu* winmenu) } //---------------------------------------------------------------------- -void FMenuItem::cb_switchToDialog (FWidget*, void* data_ptr) +void FMenuItem::cb_switchToDialog (FWidget*, data_ptr data) { - FDialog* win = static_cast(data_ptr); + FDialog* win = static_cast(data); if ( win ) { @@ -891,7 +891,7 @@ void FMenuItem::cb_switchToDialog (FWidget*, void* data_ptr) } //---------------------------------------------------------------------- -void FMenuItem::cb_destroyDialog (FWidget* widget, void*) +void FMenuItem::cb_destroyDialog (FWidget* widget, data_ptr) { FDialog* win = static_cast(widget); FApplication* fapp = static_cast(getRootWidget()); diff --git a/src/fmenuitem.h b/src/fmenuitem.h index 24303d0b..65e7a82e 100644 --- a/src/fmenuitem.h +++ b/src/fmenuitem.h @@ -153,8 +153,8 @@ class FMenuItem : public FWidget void createDialogList (FMenu*); // Callback methods - void cb_switchToDialog (FWidget*, void*); - void cb_destroyDialog (FWidget*, void*); + void cb_switchToDialog (FWidget*, data_ptr); + void cb_destroyDialog (FWidget*, data_ptr); virtual void processClicked(); diff --git a/src/fmessagebox.cpp b/src/fmessagebox.cpp index 244a8614..0a82d588 100644 --- a/src/fmessagebox.cpp +++ b/src/fmessagebox.cpp @@ -281,9 +281,9 @@ void FMessageBox::adjustSize() } //---------------------------------------------------------------------- -void FMessageBox::cb_processClick (FWidget*, void* data_ptr) +void FMessageBox::cb_processClick (FWidget*, data_ptr data) { - int* reply = static_cast(data_ptr); + int* reply = static_cast(data); done (*reply); } diff --git a/src/fmessagebox.h b/src/fmessagebox.h index d8bfa42f..0b4e5a0a 100644 --- a/src/fmessagebox.h +++ b/src/fmessagebox.h @@ -123,7 +123,7 @@ class FMessageBox : public FDialog void adjustSize(); // Callback method - void cb_processClick (FWidget*, void*); + void cb_processClick (FWidget*, data_ptr); private: // Typedef diff --git a/src/fscrollview.cpp b/src/fscrollview.cpp index ec098ea5..3fb1de27 100644 --- a/src/fscrollview.cpp +++ b/src/fscrollview.cpp @@ -240,6 +240,12 @@ void FScrollView::setGeometry (int x, int y, int w, int h, bool adjust) } } +//---------------------------------------------------------------------- +void FScrollView::setCursorPos (register int x, register int y) +{ + FWidget::setCursorPos (x + getLeftPadding(), y + getTopPadding()); +} + //---------------------------------------------------------------------- void FScrollView::setPrintPos (register int x, register int y) { @@ -844,7 +850,7 @@ void FScrollView::setVerticalScrollBarVisibility() } //---------------------------------------------------------------------- -void FScrollView::cb_VBarChange (FWidget*, void*) +void FScrollView::cb_VBarChange (FWidget*, data_ptr) { FScrollbar::sType scrollType; bool hasChanges = false; @@ -949,7 +955,7 @@ void FScrollView::cb_VBarChange (FWidget*, void*) } //---------------------------------------------------------------------- -void FScrollView::cb_HBarChange (FWidget*, void*) +void FScrollView::cb_HBarChange (FWidget*, data_ptr) { FScrollbar::sType scrollType; bool hasChanges = false; diff --git a/src/fscrollview.h b/src/fscrollview.h index ef525e78..4ad4aad7 100644 --- a/src/fscrollview.h +++ b/src/fscrollview.h @@ -75,6 +75,7 @@ class FScrollView : public FWidget virtual void setHeight (int, bool = true); virtual void setSize (int, int, bool = true); void setGeometry (int, int, int, int, bool = true); + void setCursorPos (register int, register int); void setPrintPos (register int, register int); bool setViewportPrint (bool); bool setViewportPrint(); @@ -138,8 +139,8 @@ class FScrollView : public FWidget void drawVBar(); // Callback methods - void cb_VBarChange (FWidget*, void*); - void cb_HBarChange (FWidget*, void*); + void cb_VBarChange (FWidget*, data_ptr); + void cb_HBarChange (FWidget*, data_ptr); // Data Members FRect scroll_geometry; diff --git a/src/fstatusbar.cpp b/src/fstatusbar.cpp index 94d69f63..82e98cc5 100644 --- a/src/fstatusbar.cpp +++ b/src/fstatusbar.cpp @@ -534,7 +534,7 @@ void FStatusBar::onMouseMove (FMouseEvent* ev) } //---------------------------------------------------------------------- -void FStatusBar::cb_statuskey_activated (FWidget* widget, void*) +void FStatusBar::cb_statuskey_activated (FWidget* widget, data_ptr) { if ( ! key_list.empty() ) { diff --git a/src/fstatusbar.h b/src/fstatusbar.h index e437f2d1..eb6d1f54 100644 --- a/src/fstatusbar.h +++ b/src/fstatusbar.h @@ -220,7 +220,7 @@ class FStatusBar : public FWindow void onMouseMove (FMouseEvent*); // Callback method - void cb_statuskey_activated (FWidget*, void*); + void cb_statuskey_activated (FWidget*, data_ptr); private: // Typedef diff --git a/src/ftextview.cpp b/src/ftextview.cpp index 259601c3..17f976b7 100644 --- a/src/ftextview.cpp +++ b/src/ftextview.cpp @@ -746,7 +746,7 @@ void FTextView::processChanged() } //---------------------------------------------------------------------- -void FTextView::cb_VBarChange (FWidget*, void*) +void FTextView::cb_VBarChange (FWidget*, data_ptr) { FScrollbar::sType scrollType; int distance = 1; @@ -837,7 +837,7 @@ void FTextView::cb_VBarChange (FWidget*, void*) } //---------------------------------------------------------------------- -void FTextView::cb_HBarChange (FWidget*, void*) +void FTextView::cb_HBarChange (FWidget*, data_ptr) { FScrollbar::sType scrollType; int distance = 1; diff --git a/src/ftextview.h b/src/ftextview.h index 75ab2839..cd498683 100644 --- a/src/ftextview.h +++ b/src/ftextview.h @@ -105,8 +105,8 @@ class FTextView : public FWidget void processChanged(); // Callback methods - void cb_VBarChange (FWidget*, void*); - void cb_HBarChange (FWidget*, void*); + void cb_VBarChange (FWidget*, data_ptr); + void cb_HBarChange (FWidget*, data_ptr); // Data Members stringLines data; diff --git a/src/fwidget.cpp b/src/fwidget.cpp index cd3a198a..2dc8832c 100644 --- a/src/fwidget.cpp +++ b/src/fwidget.cpp @@ -668,23 +668,24 @@ void FWidget::setGeometry (int x, int y, int w, int h, bool adjust) bool FWidget::setCursorPos (register int x, register int y) { // sets the input cursor position + widget_cursor_position.setPoint(x,y); - if ( (flags & fc::focus) != 0 && ! isWindowWidget() ) - { - FWidget* window = FWindow::getWindowWidget(this); + if ( (flags & fc::focus) == 0 || isWindowWidget() ) + return false; - if ( window ) - { - if ( term_area* area = window->getVWin() ) - { - setAreaCursor ( getTermX() - window->getTermX() + x - , getTermY() - window->getTermY() + y - , visible_cursor - , area ); - return true; - } - } + FWidget* window = FWindow::getWindowWidget(this); + + if ( ! window ) + return false; + + if ( term_area* area = window->getVWin() ) + { + setAreaCursor ( getTermX() - window->getTermX() + x + , getTermY() - window->getTermY() + y + , visible_cursor + , area ); + return true; } return false; diff --git a/src/fwidget.h b/src/fwidget.h index 3d787563..08686a24 100644 --- a/src/fwidget.h +++ b/src/fwidget.h @@ -107,9 +107,9 @@ class FWidget : public FVTerm // Typedefs typedef std::vector widgetList; - typedef void (*FCallback)(FWidget*, void*); - typedef void (FWidget::*FMemberCallback)(FWidget*, void*); typedef void* data_ptr; + typedef void (*FCallback)(FWidget*, data_ptr); + typedef void (FWidget::*FMemberCallback)(FWidget*, data_ptr); typedef std::vector Accelerators; // Constructor @@ -242,11 +242,11 @@ class FWidget : public FVTerm void clearStatusbarMessage(); void addCallback ( FString , FCallback - , void* = null ); + , data_ptr = null ); void addCallback ( FString , FWidget* , FMemberCallback - , void* = null ); + , data_ptr = null ); void delCallback (FCallback); void delCallback (FWidget*); void delCallbacks(); diff --git a/test/calculator.cpp b/test/calculator.cpp index 65476830..01aaca38 100644 --- a/test/calculator.cpp +++ b/test/calculator.cpp @@ -106,7 +106,7 @@ class Calc : public FDialog void onClose (FCloseEvent*); // Callback method - void cb_buttonClicked (FWidget*, void*); + void cb_buttonClicked (FWidget*, data_ptr); private: // Methods @@ -570,7 +570,7 @@ void Calc::onClose (FCloseEvent* ev) } //---------------------------------------------------------------------- -void Calc::cb_buttonClicked (FWidget*, void* data_ptr) +void Calc::cb_buttonClicked (FWidget*, data_ptr data) { int key; lDouble* x; @@ -582,7 +582,7 @@ void Calc::cb_buttonClicked (FWidget*, void* data_ptr) else x = &a; - key = *(static_cast(data_ptr)); + key = *(static_cast(data)); switch ( key ) { diff --git a/test/dialog.cpp b/test/dialog.cpp index a56f13e6..58edb22b 100644 --- a/test/dialog.cpp +++ b/test/dialog.cpp @@ -6,14 +6,14 @@ #include "flabel.h" // function prototype -void cb_quit (FWidget*, void*); +void cb_quit (FWidget*, FWidget::data_ptr); //---------------------------------------------------------------------- // callback function //---------------------------------------------------------------------- -void cb_quit (FWidget*, void* data_ptr) +void cb_quit (FWidget*, FWidget::data_ptr data) { - FApplication* app = static_cast(data_ptr); + FApplication* app = static_cast(data); app->quit(); } diff --git a/test/input-dialog.cpp b/test/input-dialog.cpp index d29b6aad..3962f37e 100644 --- a/test/input-dialog.cpp +++ b/test/input-dialog.cpp @@ -9,22 +9,22 @@ #include "fradiobutton.h" // function prototypes -void cb_quit (FWidget*, void*); -void cb_publish (FWidget*, void*); +void cb_quit (FWidget*, FWidget::data_ptr); +void cb_publish (FWidget*, FWidget::data_ptr); //---------------------------------------------------------------------- // callback functions //---------------------------------------------------------------------- -void cb_quit (FWidget*, void* data_ptr) +void cb_quit (FWidget*, FWidget::data_ptr data) { - FApplication* app = static_cast(data_ptr); + FApplication* app = static_cast(data); app->quit(); } -void cb_publish (FWidget* widget, void* data_ptr) +void cb_publish (FWidget* widget, FWidget::data_ptr data) { FCheckBox* cbox1 = static_cast(widget); - FCheckBox* cbox2 = static_cast(data_ptr); + FCheckBox* cbox2 = static_cast(data); if ( cbox1->isChecked() ) cbox2->setEnable(); diff --git a/test/menu.cpp b/test/menu.cpp index 2fe99cf8..4a1f33f5 100644 --- a/test/menu.cpp +++ b/test/menu.cpp @@ -42,8 +42,8 @@ class Menu : public FDialog void onClose (FCloseEvent*); // Callback methods - void cb_message (FWidget*, void*); - void cb_exitApp (FWidget*, void*); + void cb_message (FWidget*, data_ptr); + void cb_exitApp (FWidget*, data_ptr); }; #pragma pack(pop) @@ -257,7 +257,7 @@ void Menu::onClose (FCloseEvent* ev) } //---------------------------------------------------------------------- -void Menu::cb_message (FWidget* widget, void*) +void Menu::cb_message (FWidget* widget, data_ptr) { FMenuItem* menuitem = static_cast(widget); FString text = menuitem->getText(); @@ -266,7 +266,7 @@ void Menu::cb_message (FWidget* widget, void*) } //---------------------------------------------------------------------- -void Menu::cb_exitApp (FWidget*, void*) +void Menu::cb_exitApp (FWidget*, data_ptr) { close(); } diff --git a/test/term-attributes.cpp b/test/term-attributes.cpp index 45b211de..31ef7e97 100644 --- a/test/term-attributes.cpp +++ b/test/term-attributes.cpp @@ -27,8 +27,8 @@ class AttribDlg : public FDialog void onClose (FCloseEvent*); // Callback methods - void cb_next (FWidget* = 0, void* = 0); - void cb_back (FWidget* = 0, void* = 0); + void cb_next (FWidget* = 0, data_ptr = 0); + void cb_back (FWidget* = 0, data_ptr = 0); // Data Members short bgcolor; @@ -121,7 +121,7 @@ void AttribDlg::onClose (FCloseEvent* ev) } //---------------------------------------------------------------------- -void AttribDlg::cb_next (FWidget*, void*) +void AttribDlg::cb_next (FWidget*, data_ptr) { if ( isMonochron() ) return; @@ -135,7 +135,7 @@ void AttribDlg::cb_next (FWidget*, void*) } //---------------------------------------------------------------------- -void AttribDlg::cb_back (FWidget*, void*) +void AttribDlg::cb_back (FWidget*, data_ptr) { if ( isMonochron() ) return; diff --git a/test/ui.cpp b/test/ui.cpp index 1ff1aaf5..2614644a 100644 --- a/test/ui.cpp +++ b/test/ui.cpp @@ -32,9 +32,9 @@ class ProgressDialog : public FDialog void onTimer (FTimerEvent*); // Callback methods - void cb_reset_bar (FWidget*, void*); - void cb_more_bar (FWidget*, void*); - void cb_exit_bar (FWidget*, void*); + void cb_reset_bar (FWidget*, data_ptr); + void cb_more_bar (FWidget*, data_ptr); + void cb_exit_bar (FWidget*, data_ptr); // Data Members FProgressbar* progressBar; @@ -142,20 +142,20 @@ void ProgressDialog::onTimer (FTimerEvent*) } //---------------------------------------------------------------------- -void ProgressDialog::cb_reset_bar (FWidget*, void*) +void ProgressDialog::cb_reset_bar (FWidget*, data_ptr) { progressBar->reset(); } //---------------------------------------------------------------------- -void ProgressDialog::cb_more_bar (FWidget*, void*) +void ProgressDialog::cb_more_bar (FWidget*, data_ptr) { int p = progressBar->getPercentage(); progressBar->setPercentage(++p); } //---------------------------------------------------------------------- -void ProgressDialog::cb_exit_bar (FWidget*, void*) +void ProgressDialog::cb_exit_bar (FWidget*, data_ptr) { close(); } @@ -257,22 +257,22 @@ class MyDialog : public FDialog void onClose (FCloseEvent*); // Callback methods - void cb_noFunctionMsg (FWidget*, void*); - void cb_about (FWidget*, void*); - void cb_terminfo (FWidget*, void*); - void cb_drives (FWidget*, void*); - void cb_cutClipboard (FWidget*, void*); - void cb_copyClipboard (FWidget*, void*); - void cb_pasteClipboard (FWidget*, void*); - void cb_clearInput (FWidget*, void*); - void cb_input2buttonText (FWidget*, void*); - void cb_setTitlebar (FWidget*, void*); - void cb_ProgressBar (FWidget*, void*); - void cb_updateNumber (FWidget*, void*); - void cb_activateButton (FWidget*, void*); - void cb_view (FWidget*, void*); - void cb_setInput (FWidget*, void*); - void cb_exitApp (FWidget*, void*); + void cb_noFunctionMsg (FWidget*, data_ptr); + void cb_about (FWidget*, data_ptr); + void cb_terminfo (FWidget*, data_ptr); + void cb_drives (FWidget*, data_ptr); + void cb_cutClipboard (FWidget*, data_ptr); + void cb_copyClipboard (FWidget*, data_ptr); + void cb_pasteClipboard (FWidget*, data_ptr); + void cb_clearInput (FWidget*, data_ptr); + void cb_input2buttonText (FWidget*, data_ptr); + void cb_setTitlebar (FWidget*, data_ptr); + void cb_ProgressBar (FWidget*, data_ptr); + void cb_updateNumber (FWidget*, data_ptr); + void cb_activateButton (FWidget*, data_ptr); + void cb_view (FWidget*, data_ptr); + void cb_setInput (FWidget*, data_ptr); + void cb_exitApp (FWidget*, data_ptr); // Data Members FLineEdit* myLineEdit; @@ -660,7 +660,7 @@ void MyDialog::onClose (FCloseEvent* ev) } //---------------------------------------------------------------------- -void MyDialog::cb_noFunctionMsg (FWidget* widget, void*) +void MyDialog::cb_noFunctionMsg (FWidget* widget, data_ptr) { FButton* button = static_cast(widget); FString text = button->getText(); @@ -670,7 +670,7 @@ void MyDialog::cb_noFunctionMsg (FWidget* widget, void*) } //---------------------------------------------------------------------- -void MyDialog::cb_about (FWidget*, void*) +void MyDialog::cb_about (FWidget*, data_ptr) { const char libver[] = F_VERSION; FString line(2, wchar_t(fc::BoxDrawingsHorizontal)); @@ -685,7 +685,7 @@ void MyDialog::cb_about (FWidget*, void*) } //---------------------------------------------------------------------- -void MyDialog::cb_terminfo (FWidget*, void*) +void MyDialog::cb_terminfo (FWidget*, data_ptr) { int x = getColumnNumber(); int y = getLineNumber(); @@ -702,7 +702,7 @@ void MyDialog::cb_terminfo (FWidget*, void*) } //---------------------------------------------------------------------- -void MyDialog::cb_drives (FWidget*, void*) +void MyDialog::cb_drives (FWidget*, data_ptr) { FMessageBox info2 ( "Drive symbols" , "Generic: \n\n" @@ -749,7 +749,7 @@ void MyDialog::cb_drives (FWidget*, void*) } //---------------------------------------------------------------------- -void MyDialog::cb_cutClipboard (FWidget*, void*) +void MyDialog::cb_cutClipboard (FWidget*, data_ptr) { if ( ! myLineEdit ) return; @@ -760,7 +760,7 @@ void MyDialog::cb_cutClipboard (FWidget*, void*) } //---------------------------------------------------------------------- -void MyDialog::cb_copyClipboard (FWidget*, void*) +void MyDialog::cb_copyClipboard (FWidget*, data_ptr) { if ( ! myLineEdit ) return; @@ -769,7 +769,7 @@ void MyDialog::cb_copyClipboard (FWidget*, void*) } //---------------------------------------------------------------------- -void MyDialog::cb_pasteClipboard (FWidget*, void*) +void MyDialog::cb_pasteClipboard (FWidget*, data_ptr) { if ( ! myLineEdit ) return; @@ -779,7 +779,7 @@ void MyDialog::cb_pasteClipboard (FWidget*, void*) } //---------------------------------------------------------------------- -void MyDialog::cb_clearInput (FWidget*, void*) +void MyDialog::cb_clearInput (FWidget*, data_ptr) { if ( ! myLineEdit ) return; @@ -790,16 +790,16 @@ void MyDialog::cb_clearInput (FWidget*, void*) } //---------------------------------------------------------------------- -void MyDialog::cb_input2buttonText (FWidget* widget, void* data_ptr) +void MyDialog::cb_input2buttonText (FWidget* widget, data_ptr data) { FButton* button = static_cast(widget); - FLineEdit* lineedit = static_cast(data_ptr); + FLineEdit* lineedit = static_cast(data); button->setText( lineedit->getText() ); button->redraw(); } //---------------------------------------------------------------------- -void MyDialog::cb_setTitlebar (FWidget* widget, void*) +void MyDialog::cb_setTitlebar (FWidget* widget, data_ptr) { FLineEdit* lineedit = static_cast(widget); lineedit->setXTermTitle(lineedit->getText()); @@ -808,17 +808,17 @@ void MyDialog::cb_setTitlebar (FWidget* widget, void*) } //---------------------------------------------------------------------- -void MyDialog::cb_ProgressBar (FWidget*, void*) +void MyDialog::cb_ProgressBar (FWidget*, data_ptr) { ProgressDialog* p_dgl = new ProgressDialog(this); p_dgl->show(); } //---------------------------------------------------------------------- -void MyDialog::cb_updateNumber (FWidget* widget, void* data_ptr) +void MyDialog::cb_updateNumber (FWidget* widget, data_ptr data) { FListBox* list = static_cast(widget); - FLabel* num = static_cast(data_ptr); + FLabel* num = static_cast(data); int select_num = 0; uInt end = list->getCount(); @@ -831,10 +831,10 @@ void MyDialog::cb_updateNumber (FWidget* widget, void* data_ptr) } //---------------------------------------------------------------------- -void MyDialog::cb_activateButton (FWidget* widget, void* data_ptr) +void MyDialog::cb_activateButton (FWidget* widget, data_ptr data) { FRadioButton* rb = static_cast(widget); - FButton* button = static_cast(data_ptr); + FButton* button = static_cast(data); if ( rb->isChecked() ) button->setEnable(); @@ -845,10 +845,10 @@ void MyDialog::cb_activateButton (FWidget* widget, void* data_ptr) } //---------------------------------------------------------------------- -void MyDialog::cb_view (FWidget*, void* data_ptr) +void MyDialog::cb_view (FWidget*, data_ptr data) { FString file; - FMenuItem* item = static_cast(data_ptr); + FMenuItem* item = static_cast(data); if ( item && item->getText() ) file = item->getText(); @@ -884,16 +884,16 @@ void MyDialog::cb_view (FWidget*, void* data_ptr) } //---------------------------------------------------------------------- -void MyDialog::cb_setInput (FWidget* widget, void* data_ptr) +void MyDialog::cb_setInput (FWidget* widget, data_ptr data) { FListBox* ListBox = static_cast(widget); - FLineEdit* lineedit = static_cast(data_ptr); + FLineEdit* lineedit = static_cast(data); lineedit->setText( ListBox->getItem(ListBox->currentItem()).getText() ); lineedit->redraw(); } //---------------------------------------------------------------------- -void MyDialog::cb_exitApp (FWidget*, void*) +void MyDialog::cb_exitApp (FWidget*, data_ptr) { close(); } diff --git a/test/watch.cpp b/test/watch.cpp index bccb0c39..5b52d193 100644 --- a/test/watch.cpp +++ b/test/watch.cpp @@ -32,9 +32,9 @@ class watch : public FDialog void onClose (FCloseEvent*); // Callback methods - void cb_clock (FWidget*, void*); - void cb_seconds (FWidget*, void*); - void cb_exitApp (FWidget*, void*); + void cb_clock (FWidget*, data_ptr); + void cb_seconds (FWidget*, data_ptr); + void cb_exitApp (FWidget*, data_ptr); protected: // Method @@ -155,7 +155,7 @@ void watch::onClose (FCloseEvent* ev) } //---------------------------------------------------------------------- -void watch::cb_clock (FWidget*, void*) +void watch::cb_clock (FWidget*, data_ptr) { if ( clock_sw->isChecked() ) { @@ -171,7 +171,7 @@ void watch::cb_clock (FWidget*, void*) } //---------------------------------------------------------------------- -void watch::cb_seconds (FWidget*, void*) +void watch::cb_seconds (FWidget*, data_ptr) { if ( seconds_sw->isChecked() ) sec = true; @@ -191,7 +191,7 @@ void watch::cb_seconds (FWidget*, void*) } //---------------------------------------------------------------------- -void watch::cb_exitApp (FWidget*, void*) +void watch::cb_exitApp (FWidget*, data_ptr) { close(); } diff --git a/test/windows.cpp b/test/windows.cpp index 506cb919..09f7663e 100644 --- a/test/windows.cpp +++ b/test/windows.cpp @@ -196,12 +196,12 @@ class Window : public FDialog void onClose (FCloseEvent*); // Callback methods - void cb_createWindows (FWidget*, void*); - void cb_closeWindows (FWidget*, void*); - void cb_next (FWidget*, void*); - void cb_previous (FWidget*, void*); - void cb_exitApp (FWidget*, void*); - void cb_destroyWindow (FWidget*, void*); + void cb_createWindows (FWidget*, data_ptr); + void cb_closeWindows (FWidget*, data_ptr); + void cb_next (FWidget*, data_ptr); + void cb_previous (FWidget*, data_ptr); + void cb_exitApp (FWidget*, data_ptr); + void cb_destroyWindow (FWidget*, data_ptr); // Data Members std::vector windows; @@ -414,7 +414,7 @@ void Window::onClose (FCloseEvent* ev) } //---------------------------------------------------------------------- -void Window::cb_createWindows (FWidget*, void*) +void Window::cb_createWindows (FWidget*, data_ptr) { int w,h,dx,dy; std::vector::const_iterator iter, begin; @@ -457,7 +457,7 @@ void Window::cb_createWindows (FWidget*, void*) } //---------------------------------------------------------------------- -void Window::cb_closeWindows (FWidget*, void*) +void Window::cb_closeWindows (FWidget*, data_ptr) { if ( ! dialog_list || dialog_list->empty() ) return; @@ -478,7 +478,7 @@ void Window::cb_closeWindows (FWidget*, void*) } //---------------------------------------------------------------------- -void Window::cb_next (FWidget*, void*) +void Window::cb_next (FWidget*, data_ptr) { if ( ! dialog_list || dialog_list->empty() ) return; @@ -516,7 +516,7 @@ void Window::cb_next (FWidget*, void*) } //---------------------------------------------------------------------- -void Window::cb_previous (FWidget*, void*) +void Window::cb_previous (FWidget*, data_ptr) { if ( ! dialog_list || dialog_list->empty() ) return; @@ -555,15 +555,15 @@ void Window::cb_previous (FWidget*, void*) } //---------------------------------------------------------------------- -void Window::cb_exitApp (FWidget*, void*) +void Window::cb_exitApp (FWidget*, data_ptr) { close(); } //---------------------------------------------------------------------- -void Window::cb_destroyWindow (FWidget*, void* data_ptr) +void Window::cb_destroyWindow (FWidget*, data_ptr data) { - win_data* win_dat = static_cast(data_ptr); + win_data* win_dat = static_cast(data); if ( win_dat ) win_dat->is_open = false;