From 5e8adebac2899d60fffc53d4692bc4972abcf795 Mon Sep 17 00:00:00 2001 From: Matthias Melcher Date: Sun, 3 Sep 2023 00:09:32 +0200 Subject: Adds compact buttons feature to create keypads. See test/buttons for an example. --- test/buttons.cxx | 21 ++++++++++++++++++++- test/inactive.fl | 34 +++++++++++++++++++++------------- 2 files changed, 41 insertions(+), 14 deletions(-) (limited to 'test') diff --git a/test/buttons.cxx b/test/buttons.cxx index e93f4dc8e..f5a945994 100644 --- a/test/buttons.cxx +++ b/test/buttons.cxx @@ -25,7 +25,7 @@ #include int main(int argc, char **argv) { - Fl_Window *window = new Fl_Window(320, 170); + Fl_Window *window = new Fl_Window(420, 170); Fl_Button *b1 = new Fl_Button(10, 10, 130, 30, "Fl_Button"); b1->tooltip("Fl_Button"); Fl_Button *b2 = new Fl_Return_Button(150, 10, 160, 30, "Fl_Return_Button"); @@ -39,6 +39,25 @@ int main(int argc, char **argv) { Fl_Button *b6 = new Fl_Check_Button(150, 90, 160, 30, "Fl_Check_Button"); b6->tooltip("Fl_Check_Button"); + Fl_Group *keypad = new Fl_Group(320, 10, 90, 120); + Fl_Button *kp[11]; + kp[7] = new Fl_Button(320, 10, 30, 30, "7"); + kp[8] = new Fl_Button(350, 10, 30, 30, "8"); + kp[9] = new Fl_Button(380, 10, 30, 30, "9"); + kp[4] = new Fl_Button(320, 40, 30, 30, "4"); + kp[5] = new Fl_Button(350, 40, 30, 30, "5"); + kp[6] = new Fl_Button(380, 40, 30, 30, "6"); + kp[1] = new Fl_Button(320, 70, 30, 30, "1"); + kp[2] = new Fl_Button(350, 70, 30, 30, "2"); + kp[3] = new Fl_Button(380, 70, 30, 30, "3"); + kp[0] = new Fl_Button(320, 100, 60, 30, "0"); + kp[10] = new Fl_Button(380, 100, 30, 30, "."); + for (int i=0; i<11; i++) { + kp[i]->compact(1); + kp[i]->selection_color(FL_SELECTION_COLOR); + } + keypad->end(); + // Add a scheme choice widget for easier testing. Position the widget at // the right window border so the menu popup doesn't cover the check boxes etc. Fl_Scheme_Choice *scheme_choice = new Fl_Scheme_Choice(180, 130, 130, 30, "Active FLTK Scheme:"); diff --git a/test/inactive.fl b/test/inactive.fl index 0038a4fb3..c19b50a20 100644 --- a/test/inactive.fl +++ b/test/inactive.fl @@ -13,44 +13,52 @@ Function {} {open xywh {462 303 420 369} type Double resizable visible } { Fl_Group the_group { - label {activate()/deactivate() called on this Fl_Group} open selected + label {activate()/deactivate() called on this Fl_Group} open xywh {25 25 375 295} box ENGRAVED_FRAME align 17 resizable } { Fl_Button {} { label button - xywh {50 50 105 25} + xywh {50 50 105 20} } Fl_Light_Button {} { label {light button} - xywh {50 80 105 25} value 1 align 16 + xywh {50 75 105 20} value 1 align 16 + } + Fl_Group {} {open + xywh {50 100 105 20} + } { + Fl_Button {} { + label On selected + xywh {50 100 52 20} type Radio value 1 compact 1 + } + Fl_Button {} { + label Off selected + xywh {102 100 53 20} type Radio compact 1 + } } Fl_Group {} { label {Child group} open - xywh {50 130 105 125} box DOWN_FRAME + xywh {50 150 105 105} box DOWN_FRAME } { Fl_Check_Button {} { label red - xywh {54 172 97 20} type Radio down_box DIAMOND_DOWN_BOX selection_color 1 labelcolor 1 + xywh {54 192 97 20} type Radio down_box DIAMOND_DOWN_BOX selection_color 1 labelcolor 1 } Fl_Check_Button {} { label green - xywh {54 192 97 20} type Radio down_box DIAMOND_DOWN_BOX selection_color 2 labelcolor 2 + xywh {54 212 97 20} type Radio down_box DIAMOND_DOWN_BOX selection_color 2 labelcolor 2 } Fl_Check_Button {} { label blue - xywh {54 212 97 20} type Radio down_box DIAMOND_DOWN_BOX selection_color 4 labelcolor 4 - } - Fl_Check_Button {} { - label white - xywh {54 232 97 20} type Radio down_box DIAMOND_DOWN_BOX selection_color 55 labelcolor 55 + xywh {54 232 97 20} type Radio down_box DIAMOND_DOWN_BOX selection_color 4 labelcolor 4 } Fl_Check_Button {} { label check - xywh {54 132 97 20} down_box DOWN_BOX + xywh {54 152 97 20} down_box DOWN_BOX } Fl_Round_Button {} { label round - xywh {54 152 97 20} down_box ROUND_DOWN_BOX + xywh {54 172 97 20} down_box ROUND_DOWN_BOX } } Fl_Slider {} { -- cgit v1.2.3