summaryrefslogtreecommitdiff
path: root/fluid/Fl_Widget_Type.cxx
diff options
context:
space:
mode:
authorMichael R Sweet <michael.r.sweet@gmail.com>2005-03-19 04:09:32 +0000
committerMichael R Sweet <michael.r.sweet@gmail.com>2005-03-19 04:09:32 +0000
commit59004878f3c36ec693737b631f5769f511fd74cb (patch)
treeb50238e6908abf76db0570e3cef65a2d973b1f33 /fluid/Fl_Widget_Type.cxx
parenta218f44b5db233bbbd588b5766ec6f3e5e6cb822 (diff)
Many FLUID updates...
fluid/align_widget.cxx: - Add widget_size_cb() to set default size and size of labels and text for selected widgets. fluid/factory.cxx: - More normalization of menus - "..." when opening a window, Capitalized Words. - cb(): Assign default label/text size and resize to ideal size. - Make sure that all buttons, input, and valuator widgets have default label strings. - Fl_*_Button::ideal_size(): fix ideal width calcs to match widget. fluid/Fl_Menu_Type.cxx: - Fl_Menu_Item_Type::make(): set default label size. fluid/Fl_Type.h: - Add Fl_Widget_Type::default_size global. - Fl_Menu_Item_Type::type_name(): return "Menu_Item". - Fl_Submenu_Type::type_name(): return "Submenu". - Update ideal_size() methods to use a default height that is evenly divisible by 5. - Fl_Choice_Type::ideal_size() and Fl_Menubutton_Type::ideal_size(): fix ideal width calcs to match widget. - Fl_Menu_Bar::ideal_size(): add, returning the window width. fluid/fluid.cxx: - Add "Layout/Widget Size" submenu. - "File/Write code..." becomes "File/Write Code..." and "File/Write strings..." becomes "File/Write Strings..." fluid/fluid.plist: - Bump version number and copyright info. fluid/Fl_Widget_Type.cxx: - Fl_Widget_Type::ideal_size(): add box dw/dh and enforce a minimum size of 15x15. - labelsize_cb(): use Fl_Widget_Type::default_size instead of FL_NORMAL_SIZE. - textsize_cb(): use Fl_Widget_Type::default_size instead of FL_NORMAL_SIZE. fluid/Fl_Window_Type.cxx: - Fl_Window_Type::newdx(): require at least 2 pixels of movement. - Fl_Window_Type::draw_overlay(): adjust bounding box for outside labels above and below. - Fl_Window_Type::handle(): reset dx/dy on FL_PUSH. fluid/function_panel.cxx: fluid/function_panel.fl: fluid/function_panel.h: - Update some of the windows for the "small" size. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4129 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'fluid/Fl_Widget_Type.cxx')
-rw-r--r--fluid/Fl_Widget_Type.cxx13
1 files changed, 9 insertions, 4 deletions
diff --git a/fluid/Fl_Widget_Type.cxx b/fluid/Fl_Widget_Type.cxx
index 1396b67c9..36e101717 100644
--- a/fluid/Fl_Widget_Type.cxx
+++ b/fluid/Fl_Widget_Type.cxx
@@ -52,6 +52,8 @@ extern const char* i18n_function;
extern const char* i18n_file;
extern const char* i18n_set;
+int Fl_Widget_Type::default_size = FL_NORMAL_SIZE;
+
int Fl_Widget_Type::is_widget() const {return 1;}
int Fl_Widget_Type::is_public() const {return public_;}
@@ -71,8 +73,11 @@ Fl_Widget_Type::ideal_size(int &w, int &h) {
h = o->labelsize();
o->measure_label(w, h);
- h += o->labelsize() - 6;
- w += 2 * (o->labelsize() - 4);
+ w += Fl::box_dw(o->box());
+ h += Fl::box_dh(o->box());
+
+ if (w < 15) w = 15;
+ if (h < 15) h = 15;
}
// Return the ideal widget spacing...
@@ -805,7 +810,7 @@ void labelsize_cb(Fl_Value_Input* i, void *v) {
n = current_widget->o->labelsize();
} else {
n = int(i->value());
- if (n <= 0) n = FL_NORMAL_SIZE;
+ if (n <= 0) n = Fl_Widget_Type::default_size;
for (Fl_Type *o = Fl_Type::first; o; o = o->next)
if (o->selected && o->is_widget()) {
Fl_Widget_Type* q = (Fl_Widget_Type*)o;
@@ -1091,7 +1096,7 @@ void textsize_cb(Fl_Value_Input* i, void* v) {
i->activate();
} else {
s = int(i->value());
- if (s <= 0) s = FL_NORMAL_SIZE;
+ if (s <= 0) s = Fl_Widget_Type::default_size;
for (Fl_Type *o = Fl_Type::first; o; o = o->next)
if (o->selected && o->is_widget()) {
Fl_Widget_Type* q = (Fl_Widget_Type*)o;