Author: matt
Date: 2011-06-04 14:51:31 -0700 (Sat, 04 Jun 2011)
New Revision: 8781
Log:
123: and some more. Chewing on the Fl_Menu_Item issue now.
Modified:
branches/branch-3.0/FL/Fl_Input_.H
branches/branch-3.0/FL/Fl_Input_Choice.H
branches/branch-3.0/FL/Fl_Int_Input.H
branches/branch-3.0/FL/Fl_Light_Button.H
branches/branch-3.0/FL/Fl_Line_Dial.H
branches/branch-3.0/FL/Fl_Menu.H
branches/branch-3.0/FL/Fl_Menu_Item.H
branches/branch-3.0/FL/Fl_Multiline_Input.H
branches/branch-3.0/FL/Fl_Multiline_Output.H
Modified: branches/branch-3.0/FL/Fl_Input_.H
===================================================================
--- branches/branch-3.0/FL/Fl_Input_.H 2011-06-04 20:46:25 UTC (rev 8780)
+++ branches/branch-3.0/FL/Fl_Input_.H 2011-06-04 21:51:31 UTC (rev 8781)
@@ -2,7 +2,7 @@
// "$Id$"
//
// Input base class header file for the Fast Light Tool Kit (FLTK).
-// FLTK 123 wrapper started
+// FLTK 123 wrapper finished
//
// Copyright 1998-2011 by Bill Spitzak and others.
//
@@ -52,128 +52,235 @@
protected:
int word_start(int i) const {
- return ((fltk3::Input_*)_p)->word_start();
+ return ((fltk3::Input_*)_p)->word_start(i);
}
- int word_end(int i) const;
+ int word_end(int i) const {
+ return ((fltk3::Input_*)_p)->word_end(i);
+ }
- int line_start(int i) const;
+ int line_start(int i) const {
+ return ((fltk3::Input_*)_p)->line_start(i);
+ }
- int line_end(int i) const;
+ int line_end(int i) const {
+ return ((fltk3::Input_*)_p)->line_end(i);
+ }
- void drawtext(int, int, int, int);
+ void drawtext(int x, int y, int w, int h) {
+ ((fltk3::Input_*)_p)->drawtext(x, y, w, h);
+ }
- int up_down_position(int, int keepmark=0);
+ int up_down_position(int a, int b=0) {
+ return ((fltk3::Input_*)_p)->up_down_position(a, b);
+ }
- void handle_mouse(int, int, int, int, int keepmark=0);
+ void handle_mouse(int a, int b, int c, int d, int e=0) {
+ ((fltk3::Input_*)_p)->handle_mouse(a, b, c, d, e);
+ }
- int handletext(int e, int, int, int, int);
+ int handletext(int a, int b, int c, int d, int e) {
+ return ((fltk3::Input_*)_p)->handletext(a, b, c, d, e);
+ }
- void maybe_do_callback();
+ void maybe_do_callback() {
+ ((fltk3::Input_*)_p)->maybe_do_callback();
+ }
- int xscroll() const {return xscroll_;}
+ int xscroll() const {
+ return ((fltk3::Input_*)_p)->xscroll();
+ }
- int yscroll() const {return yscroll_;}
+ int yscroll() const {
+ return ((fltk3::Input_*)_p)->yscroll();
+ }
- void yscroll(int y) { yscroll_ = y; damage(FL_DAMAGE_EXPOSE);}
+ void yscroll(int y) {
+ ((fltk3::Input_*)_p)->yscroll(y);
+ }
- int linesPerPage();
+ int linesPerPage() {
+ return ((fltk3::Input_*)_p)->linesPerPage();
+ }
public:
- void resize(int, int, int, int);
+ FLTK3_WRAPPER_VCALLS_OBJECT(Input_, resize(int x, int y, int w, int h),
resize(x, y, w, h), Resize)
+
+ Fl_Input_() { /* empty */ }
+
+ Fl_Input_(int x, int y, int w, int h, const char *label = 0) {
+ _p = new fltk3::Input_(x, y, w, h, label);
+ _p->wrapper(this);
+ }
- Fl_Input_(int, int, int, int, const char* = 0);
+ int value(const char *v) {
+ return ((fltk3::Input_*)_p)->value(v);
+ }
- int value(const char*);
+ int value(const char *a, int b) {
+ return ((fltk3::Input_*)_p)->value(a, b);
+ }
- int value(const char*, int);
+ int static_value(const char *a) {
+ return ((fltk3::Input_*)_p)->static_value(a);
+ }
- int static_value(const char*);
+ int static_value(const char *a, int b) {
+ return ((fltk3::Input_*)_p)->static_value(a, b);
+ }
- int static_value(const char*, int);
+ const char* value() const {
+ return ((fltk3::Input_*)_p)->value();
+ }
- const char* value() const {return value_;}
+ Fl_Char index(int i) const {
+ return ((fltk3::Input_*)_p)->index(i);
+ }
- Fl_Char index(int i) const;
+ int size() const {
+ return ((fltk3::Input_*)_p)->size();
+ }
- int size() const {return size_;}
+ void size(int W, int H) {
+ ((fltk3::Input_*)_p)->size(W, H);
+ }
- void size(int W, int H) { Fl_Widget::size(W, H); }
+ int maximum_size() const {
+ return ((fltk3::Input_*)_p)->maximum_size();
+ }
- int maximum_size() const {return maximum_size_;}
+ void maximum_size(int m) {
+ ((fltk3::Input_*)_p)->maximum_size(m);
+ }
- void maximum_size(int m) {maximum_size_ = m;}
+ int position() const {
+ return ((fltk3::Input_*)_p)->position();
+ }
- int position() const {return position_;}
+ int mark() const {
+ return ((fltk3::Input_*)_p)->mark();
+ }
- int mark() const {return mark_;}
+ int position(int p, int m) {
+ return ((fltk3::Input_*)_p)->position(p, m);
+ }
- int position(int p, int m);
+ int position(int p) {
+ return ((fltk3::Input_*)_p)->position(p);
+ }
- int position(int p) {return position(p, p);}
+ int mark(int m) {
+ return ((fltk3::Input_*)_p)->mark(m);
+ }
- int mark(int m) {return position(position(), m);}
+ int replace(int a, int b, const char *c, int d=0) {
+ return ((fltk3::Input_*)_p)->replace(a, b, c, d);
+ }
- int replace(int, int, const char*, int=0);
+ int cut() {
+ return ((fltk3::Input_*)_p)->cut();
+ }
- int cut() {return replace(position(), mark(), 0);}
+ int cut(int n) {
+ return ((fltk3::Input_*)_p)->cut(n);
+ }
- int cut(int n) {return replace(position(), position()+n, 0);}
+ int cut(int a, int b) {
+ return ((fltk3::Input_*)_p)->cut(a, b);
+ }
- int cut(int a, int b) {return replace(a, b, 0);}
+ int insert(const char* t, int l=0) {
+ return ((fltk3::Input_*)_p)->insert(t, l);
+ }
- int insert(const char* t, int l=0){return replace(position_, mark_, t, l);}
+ int copy(int clipboard) {
+ return ((fltk3::Input_*)_p)->copy(clipboard);
+ }
- int copy(int clipboard);
+ int undo() {
+ return ((fltk3::Input_*)_p)->undo();
+ }
- int undo();
+ int copy_cuts() {
+ return ((fltk3::Input_*)_p)->copy_cuts();
+ }
- int copy_cuts();
+ int shortcut() const {
+ return ((fltk3::Input_*)_p)->shortcut();
+ }
- int shortcut() const {return shortcut_;}
+ void shortcut(int s) {
+ ((fltk3::Input_*)_p)->shortcut(s);
+ }
- void shortcut(int s) {shortcut_ = s;}
+ Fl_Font textfont() const {
+ return fltk3::_3to1_font( ((fltk3::Input_*)_p)->textfont() );
+ }
+
+ void textfont(Fl_Font font) {
+ ((fltk3::Input_*)_p)->font( fltk3::_1to3_font(font) );
+ }
+
+ Fl_Fontsize textsize() const {
+ return fltk3::_3to1_fontsize( ((fltk3::Input_*)_p)->textsize() );
+ }
+
+ void textsize(Fl_Fontsize size) {
+ ((fltk3::Input_*)_p)->textsize( fltk3::_1to3_fontsize(size); )
+ }
+
+ Fl_Color textcolor() const {
+ return fltk3::_3to1_color( ((fltk3::Input_*)_p)->textcolor() );
+ }
+
+ void textcolor(Fl_Color col) {
+ ((fltk3::Input_*)_p)->textcolor( fltk3::_1to3_color(col) );
+ }
- Fl_Font textfont() const {return textfont_;}
+ Fl_Color cursor_color() const {
+ return fltk3::_3to1_color( ((fltk3::Input_*)_p)->cursor_color() );
+ }
- void textfont(Fl_Font s) {textfont_ = s;}
+ void cursor_color(Fl_Color n) {
+ ((fltk3::Input_*)_p)->cursor_color( fltk3::_1to3_color(n) );
+ }
- Fl_Fontsize textsize() const {return textsize_;}
+ int input_type() const {
+ return ((fltk3::Input_*)_p)->input_type();
+ }
- void textsize(Fl_Fontsize s) {textsize_ = s;}
+ void input_type(int t) {
+ ((fltk3::Input_*)_p)->input_type(t);
+ }
- Fl_Color textcolor() const {return textcolor_;}
+ int readonly() const {
+ return ((fltk3::Input_*)_p)->readonly();
+ }
- void textcolor(Fl_Color n) {textcolor_ = n;}
+ void readonly(int b) {
+ ((fltk3::Input_*)_p)->readonly(b);
+ }
- Fl_Color cursor_color() const {return cursor_color_;}
+ int wrap() const {
+ return ((fltk3::Input_*)_p)->wrap();
+ }
- void cursor_color(Fl_Color n) {cursor_color_ = n;}
+ void wrap(int b) {
+ ((fltk3::Input_*)_p)->wrap(b);
+ }
- int input_type() const {return type() & FL_INPUT_TYPE; }
-
- void input_type(int t) { type((uchar)(t | readonly())); }
-
- int readonly() const { return type() & FL_INPUT_READONLY; }
-
- void readonly(int b) { if (b) type((uchar)(type() | FL_INPUT_READONLY));
- else type((uchar)(type() & ~FL_INPUT_READONLY)); }
-
- int wrap() const { return type() & FL_INPUT_WRAP; }
-
- void wrap(int b) { if (b) type((uchar)(type() | FL_INPUT_WRAP));
- else type((uchar)(type() & ~FL_INPUT_WRAP)); }
-
void tab_nav(int val) {
- tab_nav_ = val;
+ ((fltk3::Input_*)_p)->tab_nav(val);
}
int tab_nav() const {
- return tab_nav_;
+ return ((fltk3::Input_*)_p)->tab_nav();
}
+
};
+
#endif
//
Modified: branches/branch-3.0/FL/Fl_Input_Choice.H
===================================================================
--- branches/branch-3.0/FL/Fl_Input_Choice.H 2011-06-04 20:46:25 UTC (rev
8780)
+++ branches/branch-3.0/FL/Fl_Input_Choice.H 2011-06-04 21:51:31 UTC (rev
8781)
@@ -1,4 +1,3 @@
-#error header has not been ported to 3.0 yet
//
// "$Id$"
//
@@ -7,8 +6,10 @@
// | || __ |
// | input area || \/ |
// |______________||____|
+// FLTK 123 wrapper started
+// - Fl_Menu_Item not wrapped yet
//
-// Copyright 1998-2010 by Bill Spitzak and others.
+// Copyright 1998-2011 by Bill Spitzak and others.
// Copyright 2004 by Greg Ercolano.
//
// This library is free software; you can redistribute it and/or
@@ -31,14 +32,10 @@
// http://www.fltk.org/str.php
//
-/* \file
- Fl_Input_Choice widget . */
-
-
-
#ifndef Fl_Input_Choice_H
#define Fl_Input_Choice_H
+#include <fltk3/InputChoice.h>
#include <FL/Fl.H>
#include <FL/Fl_Group.H>
#include <FL/Fl_Input.H>
@@ -46,174 +43,97 @@
#include <FL/fl_draw.H>
#include <string.h>
-/**
- A combination of the input widget and a menu button.
- The user can either type into the input area, or use the
- menu button chooser on the right, which loads the input area
- with predefined text. Normally it is drawn with an inset box
- and a white background.
- <P>
- The application can directly access both the input and menu
- widgets directly, using the menubutton()
- and input() accessor methods.
-*/
+
class FL_EXPORT Fl_Input_Choice : public Fl_Group {
- // Private class to handle slightly 'special' behavior of menu button
- class InputMenuButton : public Fl_Menu_Button {
- void draw() {
- draw_box(FL_UP_BOX, color());
- fl_color(active_r() ? labelcolor() : fl_inactive(labelcolor()));
- int xc = x()+w()/2, yc=y()+h()/2;
- fl_polygon(xc-5,yc-3,xc+5,yc-3,xc,yc+3);
- if (Fl::focus() == this) draw_focus();
- }
- public:
- InputMenuButton(int x,int y,int w,int h,const char*l=0) :
- Fl_Menu_Button(x,y,w,h,l) { box(FL_UP_BOX); }
- };
- Fl_Input *inp_;
- InputMenuButton *menu_;
+public:
- static void menu_cb(Fl_Widget*, void *data) {
- Fl_Input_Choice *o=(Fl_Input_Choice *)data;
- Fl_Widget_Tracker wp(o);
- const Fl_Menu_Item *item = o->menubutton()->mvalue();
- if (item && item->flags & (FL_SUBMENU|FL_SUBMENU_POINTER)) return; //
ignore submenus
- if (!strcmp(o->inp_->value(), o->menu_->text()))
- {
- o->Fl_Widget::clear_changed();
- if (o->when() & FL_WHEN_NOT_CHANGED)
- o->do_callback();
- }
- else
- {
- o->inp_->value(o->menu_->text());
- o->inp_->set_changed();
- o->Fl_Widget::set_changed();
- if (o->when() & (FL_WHEN_CHANGED|FL_WHEN_RELEASE))
- o->do_callback();
- }
-
- if (wp.deleted()) return;
-
- if (o->callback() != default_callback)
- {
- o->Fl_Widget::clear_changed();
- o->inp_->clear_changed();
- }
+ Fl_Input_Choice() { /* empty */ }
+
+ Fl_Input_Choice (int x,int y,int w,int h,const char*l=0) {
+ _p = new fltk3::InputChoice(x, y, w, h, l);
+ _p->wrapper(this);
}
- static void inp_cb(Fl_Widget*, void *data) {
- Fl_Input_Choice *o=(Fl_Input_Choice *)data;
- Fl_Widget_Tracker wp(o);
- if (o->inp_->changed()) {
- o->Fl_Widget::set_changed();
- if (o->when() & (FL_WHEN_CHANGED|FL_WHEN_RELEASE))
- o->do_callback();
- } else {
- o->Fl_Widget::clear_changed();
- if (o->when() & FL_WHEN_NOT_CHANGED)
- o->do_callback();
- }
-
- if (wp.deleted()) return;
-
- if (o->callback() != default_callback)
- o->Fl_Widget::clear_changed();
+ void add(const char *s) {
+ ((fltk3::InputChoice*)_p)->add(s);
}
-
- // Custom resize behavior -- input stretches, menu button doesn't
- inline int inp_x() { return(x() + Fl::box_dx(box())); }
- inline int inp_y() { return(y() + Fl::box_dy(box())); }
- inline int inp_w() { return(w() - Fl::box_dw(box()) - 20); }
- inline int inp_h() { return(h() - Fl::box_dh(box())); }
-
- inline int menu_x() { return(x() + w() - 20 - Fl::box_dx(box())); }
- inline int menu_y() { return(y() + Fl::box_dy(box())); }
- inline int menu_w() { return(20); }
- inline int menu_h() { return(h() - Fl::box_dh(box())); }
-
-public:
- /**
- Creates a new Fl_Input_Choice widget using the given position, size,
- and label string.
- <P> Inherited destructor Destroys the widget and any value associated with
it.
- */
- Fl_Input_Choice (int x,int y,int w,int h,const char*l=0) :
Fl_Group(x,y,w,h,l) {
- Fl_Group::box(FL_DOWN_BOX);
- align(FL_ALIGN_LEFT); // default like Fl_Input
- inp_ = new Fl_Input(inp_x(), inp_y(),
- inp_w(), inp_h());
- inp_->callback(inp_cb, (void*)this);
- inp_->box(FL_FLAT_BOX); // cosmetic
- inp_->when(FL_WHEN_CHANGED|FL_WHEN_NOT_CHANGED);
- menu_ = new InputMenuButton(menu_x(), menu_y(),
- menu_w(), menu_h());
- menu_->callback(menu_cb, (void*)this);
- menu_->box(FL_FLAT_BOX); // cosmetic
- end();
+
+ int changed() const {
+ return ((fltk3::InputChoice*)_p)->changed();
}
- /** Adds an item to the menu.*/
- void add(const char *s) { menu_->add(s); }
- int changed() const { return inp_->changed() | Fl_Widget::changed();}
- void clear_changed() {
- inp_->clear_changed();
- Fl_Widget::clear_changed();
+ void clear_changed() {
+ ((fltk3::InputChoice*)_p)->clear_changed();
}
+
void set_changed() {
- inp_->set_changed();
- // no need to call Fl_Widget::set_changed()
+ ((fltk3::InputChoice*)_p)->set_changed();
}
- /** Removes all items from the menu. */
- void clear() { menu_->clear(); }
- /** Gets the box type of the menu button */
- Fl_Boxtype down_box() const { return (menu_->down_box()); }
- /** Sets the box type of the menu button */
- void down_box(Fl_Boxtype b) { menu_->down_box(b); }
- /** Gets the Fl_Menu_Item array used for the menu. */
+
+ void clear() {
+ ((fltk3::InputChoice*)_p)->clear();
+ }
+
+ Fl_Boxtype down_box() const {
+ return fltk3::_3to1_boxtype( ((fltk3::InputChoice*)_p)->down_box() );
+ }
+
+ // FIXME: 123
+ void down_box(Fl_Boxtype b) {
+ ((fltk3::InputChoice*)_p)->down_box( fltk3::_1to3_boxtype(b) );
+ }
+
+ // FIXME: 123
const Fl_Menu_Item *menu() { return (menu_->menu()); }
- /** Sets the Fl_Menu_Item array used for the menu. */
+
+ // FIXME: 123
void menu(const Fl_Menu_Item *m) { menu_->menu(m); }
- void resize(int X, int Y, int W, int H) {
- Fl_Group::resize(X,Y,W,H);
- inp_->resize(inp_x(), inp_y(), inp_w(), inp_h());
- menu_->resize(menu_x(), menu_y(), menu_w(), menu_h());
+
+ FLTK3_WRAPPER_VCALLS_OBJECT(Widget, resize(int x, int y, int w, int h),
resize(x, y, w, h), Resize)
+
+ Fl_Font textfont() const {
+ return fltk3::_3to1_font( ((fltk3::InputChoice*)_p)->textfont() );
}
- /** Gets the encapsulated input text color attributes */
- Fl_Color textcolor() const { return (inp_->textcolor());}
- /** Sets the encapsulated input text color attributes */
- void textcolor(Fl_Color c) { inp_->textcolor(c);}
- /** Gets the encapsulated input text font attributes */
- Fl_Font textfont() const { return (inp_->textfont());}
- /** Sets the encapsulated input text font attributes */
- void textfont(Fl_Font f) { inp_->textfont(f);}
- /** Gets the encapsulated input size attributes */
- Fl_Fontsize textsize() const { return (inp_->textsize()); }
- /** Sets the encapsulated input size attributes */
- void textsize(Fl_Fontsize s) { inp_->textsize(s); }
- /** See void Fl_Input_Choice::value(const char *s) */
- const char* value() const { return (inp_->value()); }
- /**
- Sets or returns the input widget's current contents. The
- second form sets the contents using the index into the menu
- which you can set as an integer. Setting the value effectively
- 'chooses' this menu item, and sets it as the new input text,
- deleting the previous text.
- */
- void value(const char *val) { inp_->value(val); }
- /** See void Fl_Input_Choice::value(const char *s) */
+
+ void textfont(Fl_Font font) {
+ ((fltk3::InputChoice*)_p)->font( fltk3::_1to3_font(font) );
+ }
+
+ Fl_Fontsize textsize() const {
+ return fltk3::_3to1_fontsize( ((fltk3::InputChoice*)_p)->textsize() );
+ }
+
+ void textsize(Fl_Fontsize size) {
+ ((fltk3::InputChoice*)_p)->textsize( fltk3::_1to3_fontsize(size); )
+ }
+
+ Fl_Color textcolor() const {
+ return fltk3::_3to1_color( ((fltk3::InputChoice*)_p)->textcolor() );
+ }
+
+ void textcolor(Fl_Color col) {
+ ((fltk3::InputChoice*)_p)->textcolor( fltk3::_1to3_color(col) );
+ }
+
+ const char* value() const {
+ return ((fltk3::InputChoice*)_p)->value();
+ }
+
+ void value(const char *val) {
+ ((fltk3::InputChoice*)_p)->val();
+ }
+
void value(int val) {
- menu_->value(val);
- inp_->value(menu_->text(val));
+ ((fltk3::InputChoice*)_p)->value(val);
}
- /** Returns a reference to the internal Fl_Menu_Button widget. */
- Fl_Menu_Button *menubutton() { return menu_; }
- /**
- Returns a reference to the internal Fl_Input widget.</p>
- */
- Fl_Input *input() { return inp_; }
+
+ // FIXME: 123
+ Fl_Menu_Button *menubutton();
+
+ // FIXME: 123
+ Fl_Input *input();
+
};
#endif // !Fl_Input_Choice_H
Modified: branches/branch-3.0/FL/Fl_Int_Input.H
===================================================================
--- branches/branch-3.0/FL/Fl_Int_Input.H 2011-06-04 20:46:25 UTC (rev
8780)
+++ branches/branch-3.0/FL/Fl_Int_Input.H 2011-06-04 21:51:31 UTC (rev
8781)
@@ -1,10 +1,10 @@
-#error header has not been ported to 3.0 yet
//
// "$Id$"
//
// Integer input header file for the Fast Light Tool Kit (FLTK).
+// FLTK 123 wrapper finished
//
-// Copyright 1998-2010 by Bill Spitzak and others.
+// Copyright 1998-2011 by Bill Spitzak and others.
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Library General Public
@@ -26,29 +26,28 @@
// http://www.fltk.org/str.php
//
-/* \file
- Fl_Int_Input widget . */
#ifndef Fl_Int_Input_H
#define Fl_Int_Input_H
+#include <fltk3/IntInput.h>
#include "Fl_Input.H"
-/**
- The Fl_Int_Input class is a subclass of Fl_Input
- that only allows the user to type decimal digits (or hex numbers of the form
0xaef).
-*/
+
class FL_EXPORT Fl_Int_Input : public Fl_Input {
+
public:
- /**
- Creates a new Fl_Int_Input widget using the given position,
- size, and label string. The default boxtype is FL_DOWN_BOX.
- <P>Inherited destructor Destroys the widget and any value associated with
it.
- */
- Fl_Int_Input(int X,int Y,int W,int H,const char *l = 0)
- : Fl_Input(X,Y,W,H,l) {type(FL_INT_INPUT);}
+
+ Fl_Int_Input() { /* empty */ }
+
+ Fl_Int_Input(int X,int Y,int W,int H,const char *l = 0) {
+ _p = new fltk3::IntInput(X, Y, W, H, l);
+ _p->wrapper(this);
+ }
+
};
+
#endif
//
Modified: branches/branch-3.0/FL/Fl_Light_Button.H
===================================================================
--- branches/branch-3.0/FL/Fl_Light_Button.H 2011-06-04 20:46:25 UTC (rev
8780)
+++ branches/branch-3.0/FL/Fl_Light_Button.H 2011-06-04 21:51:31 UTC (rev
8781)
@@ -2,8 +2,9 @@
// "$Id$"
//
// Lighted button header file for the Fast Light Tool Kit (FLTK).
+// FLTK 123 wrapper finished
//
-// Copyright 1998-2010 by Bill Spitzak and others.
+// Copyright 1998-2011 by Bill Spitzak and others.
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Library General Public
Modified: branches/branch-3.0/FL/Fl_Line_Dial.H
===================================================================
--- branches/branch-3.0/FL/Fl_Line_Dial.H 2011-06-04 20:46:25 UTC (rev
8780)
+++ branches/branch-3.0/FL/Fl_Line_Dial.H 2011-06-04 21:51:31 UTC (rev
8781)
@@ -1,10 +1,10 @@
-#error header has not been ported to 3.0 yet
//
// "$Id$"
//
// Line dial header file for the Fast Light Tool Kit (FLTK).
+// FLTK 123 wrapper finished
//
-// Copyright 1998-2010 by Bill Spitzak and others.
+// Copyright 1998-2011 by Bill Spitzak and others.
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Library General Public
@@ -26,20 +26,28 @@
// http://www.fltk.org/str.php
//
-/* \file
- Fl_Line_Dial widget . */
#ifndef Fl_Line_Dial_H
#define Fl_Line_Dial_H
+#include <fltk3/LineDial.h>
#include "Fl_Dial.H"
+
class FL_EXPORT Fl_Line_Dial : public Fl_Dial {
+
public:
- Fl_Line_Dial(int x,int y,int w,int h, const char *l = 0)
- : Fl_Dial(x,y,w,h,l) {type(FL_LINE_DIAL);}
+
+ Fl_Line_Dial() { /* empty */ }
+
+ Fl_Line_Dial(int x,int y,int w,int h, const char *l = 0) {
+ _p = new fltk3::LineDial(x, y, w, h, l);
+ _p->wrapper(this);
+ }
+
};
+
#endif
//
Modified: branches/branch-3.0/FL/Fl_Menu.H
===================================================================
--- branches/branch-3.0/FL/Fl_Menu.H 2011-06-04 20:46:25 UTC (rev 8780)
+++ branches/branch-3.0/FL/Fl_Menu.H 2011-06-04 21:51:31 UTC (rev 8781)
@@ -1,8 +1,8 @@
-#error header has not been ported to 3.0 yet
//
// "$Id$"
//
// Old menu header file for the Fast Light Tool Kit (FLTK).
+// FLTK 123 wrapper finished
//
// Copyright 1998-2010 by Bill Spitzak and others.
//
Modified: branches/branch-3.0/FL/Fl_Menu_Item.H
===================================================================
--- branches/branch-3.0/FL/Fl_Menu_Item.H 2011-06-04 20:46:25 UTC (rev
8780)
+++ branches/branch-3.0/FL/Fl_Menu_Item.H 2011-06-04 21:51:31 UTC (rev
8781)
@@ -1,10 +1,10 @@
-#error header has not been ported to 3.0 yet
//
// "$Id$"
//
// Menu item header file for the Fast Light Tool Kit (FLTK).
+// FLTK 123 wrapper started
//
-// Copyright 1998-2010 by Bill Spitzak and others.
+// Copyright 1998-2011 by Bill Spitzak and others.
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Library General Public
@@ -29,412 +29,170 @@
#ifndef Fl_Menu_Item_H
#define Fl_Menu_Item_H
-# include "Fl_Widget.H"
-# include "Fl_Image.H"
+#include <fltk3/MenuItem.h>
+#include "Fl_Widget.H"
+#include "Fl_Image.H"
-# if defined(__APPLE__) && defined(check)
-# undef check
-# endif
+#if defined(__APPLE__) && defined(check)
+#undef check
+#endif
-enum { // values for flags:
- FL_MENU_INACTIVE = 1, ///< Deactivate menu item (gray out)
- FL_MENU_TOGGLE= 2, ///< Item is a checkbox toggle (shows checkbox
for on/off state)
- FL_MENU_VALUE = 4, ///< The on/off state for checkbox/radio
buttons (if set, state is 'on')
- FL_MENU_RADIO = 8, ///< Item is a radio button (one checkbox of
many can be on)
- FL_MENU_INVISIBLE = 0x10, ///< Item will not show up (shortcut will work)
- FL_SUBMENU_POINTER = 0x20, ///< Indicates user_data() is a pointer to
another menu array
- FL_SUBMENU = 0x40, ///< This item is a submenu to other items
- FL_MENU_DIVIDER = 0x80, ///< Creates divider line below this item. Also
ends a group of radio buttons.
- FL_MENU_HORIZONTAL = 0x100 ///< ??? -- reserved
+enum {
+ FL_MENU_INACTIVE = 1,
+ FL_MENU_TOGGLE= 2,
+ FL_MENU_VALUE = 4,
+ FL_MENU_RADIO = 8,
+ FL_MENU_INVISIBLE = 0x10,
+ FL_SUBMENU_POINTER = 0x20,
+ FL_SUBMENU = 0x40,
+ FL_MENU_DIVIDER = 0x80,
+ FL_MENU_HORIZONTAL = 0x100
};
extern FL_EXPORT Fl_Shortcut fl_old_shortcut(const char*);
class Fl_Menu_;
-/**
- The Fl_Menu_Item structure defines a single menu item that
- is used by the Fl_Menu_ class.
- \code
- struct Fl_Menu_Item {
- const char* text; // label()
- ulong shortcut_;
- Fl_Callback* callback_;
- void* user_data_;
- int flags;
- uchar labeltype_;
- uchar labelfont_;
- uchar labelsize_;
- uchar labelcolor_;
- };
-
- enum { // values for flags:
- FL_MENU_INACTIVE = 1, // Deactivate menu item (gray out)
- FL_MENU_TOGGLE = 2, // Item is a checkbox toggle (shows checkbox
for on/off state)
- FL_MENU_VALUE = 4, // The on/off state for checkbox/radio
buttons (if set, state is 'on')
- FL_MENU_RADIO = 8, // Item is a radio button (one checkbox of
many can be on)
- FL_MENU_INVISIBLE = 0x10, // Item will not show up (shortcut will work)
- FL_SUBMENU_POINTER = 0x20, // Indicates user_data() is a pointer to
another menu array
- FL_SUBMENU = 0x40, // This item is a submenu to other items
- FL_MENU_DIVIDER = 0x80, // Creates divider line below this item. Also
ends a group of radio buttons.
- FL_MENU_HORIZONTAL = 0x100 // ??? -- reserved
- };
- \endcode
- Typically menu items are statically defined; for example:
- \code
- Fl_Menu_Item popup[] = {
- {"&alpha", FL_ALT+'a', the_cb, (void*)1},
- {"&beta", FL_ALT+'b', the_cb, (void*)2},
- {"gamma", FL_ALT+'c', the_cb, (void*)3, FL_MENU_DIVIDER},
- {"&strange", 0, strange_cb},
- {"&charm", 0, charm_cb},
- {"&truth", 0, truth_cb},
- {"b&eauty", 0, beauty_cb},
- {"sub&menu", 0, 0, 0, FL_SUBMENU},
- {"one"},
- {"two"},
- {"three"},
- {0},
- {"inactive", FL_ALT+'i', 0, 0, FL_MENU_INACTIVE|FL_MENU_DIVIDER},
- {"invisible",FL_ALT+'i', 0, 0, FL_MENU_INVISIBLE},
- {"check", FL_ALT+'i', 0, 0, FL_MENU_TOGGLE|FL_MENU_VALUE},
- {"box", FL_ALT+'i', 0, 0, FL_MENU_TOGGLE},
- {0}};
- \endcode
- produces:
- \image html menu.png
- \image latex menu.png "menu" width=10cm
-
- A submenu title is identified by the bit FL_SUBMENU in the
- flags field, and ends with a label() that is NULL.
- You can nest menus to any depth. A pointer to the first item in the
- submenu can be treated as an Fl_Menu array itself. It is also
- possible to make separate submenu arrays with FL_SUBMENU_POINTER flags.
-
- You should use the method functions to access structure members and
- not access them directly to avoid compatibility problems with future
- releases of FLTK.
-*/
struct FL_EXPORT Fl_Menu_Item {
- const char *text; ///< menu item text, returned by label()
- int shortcut_; ///< menu item shortcut
- Fl_Callback *callback_; ///< menu item callback
- void *user_data_; ///< menu item user_data for the menu's callback
- int flags; ///< menu item flags like FL_MENU_TOGGLE,
FL_MENU_RADIO
- uchar labeltype_; ///< how the menu item text looks like
- Fl_Font labelfont_; ///< which font for this menu item text
- Fl_Fontsize labelsize_; ///< size of menu item text
- Fl_Color labelcolor_; ///< menu item text color
+ const char *text;
+ int shortcut_;
+ Fl_Callback *callback_;
+ void *user_data_;
+ int flags;
+ uchar labeltype_;
+ Fl_Font labelfont_;
+ Fl_Fontsize labelsize_;
+ Fl_Color labelcolor_;
- // advance N items, skipping submenus:
const Fl_Menu_Item *next(int=1) const;
- /**
- Advances a pointer by n items through a menu array, skipping
- the contents of submenus and invisible items. There are two calls so
- that you can advance through const and non-const data.
- */
Fl_Menu_Item *next(int i=1) {
return (Fl_Menu_Item*)(((const Fl_Menu_Item*)this)->next(i));}
- /** Returns the first menu item, same as next(0). */
const Fl_Menu_Item *first() const { return next(0); }
- /** Returns the first menu item, same as next(0). */
Fl_Menu_Item *first() { return next(0); }
- // methods on menu items:
- /**
- Returns the title of the item.
- A NULL here indicates the end of the menu (or of a submenu).
- A '&' in the item will print an underscore under the next letter,
- and if the menu is popped up that letter will be a "shortcut" to pick
- that item. To get a real '&' put two in a row.
- */
const char* label() const {return text;}
- /** See const char* Fl_Menu_Item::label() const */
void label(const char* a) {text=a;}
- /** See const char* Fl_Menu_Item::label() const */
void label(Fl_Labeltype a,const char* b) {labeltype_ = a; text = b;}
- /**
- Returns the menu item's labeltype.
- A labeltype identifies a routine that draws the label of the
- widget. This can be used for special effects such as emboss, or to use
- the label() pointer as another form of data such as a bitmap.
- The value FL_NORMAL_LABEL prints the label as text.
- */
Fl_Labeltype labeltype() const {return (Fl_Labeltype)labeltype_;}
- /**
- Sets the menu item's labeltype.
- A labeltype identifies a routine that draws the label of the
- widget. This can be used for special effects such as emboss, or to use
- the label() pointer as another form of data such as a bitmap.
- The value FL_NORMAL_LABEL prints the label as text.
- */
void labeltype(Fl_Labeltype a) {labeltype_ = a;}
- /**
- Gets the menu item's label color.
- This color is passed to the labeltype routine, and is typically the
- color of the label text. This defaults to FL_BLACK. If this
- color is not black fltk will \b not use overlay bitplanes to draw
- the menu - this is so that images put in the menu draw correctly.
- */
Fl_Color labelcolor() const {return labelcolor_;}
- /**
- Sets the menu item's label color.
- \see Fl_Color Fl_Menu_Item::labelcolor() const
- */
void labelcolor(Fl_Color a) {labelcolor_ = a;}
- /**
- Gets the menu item's label font.
- Fonts are identified by small 8-bit indexes into a table. See the
- enumeration list for predefined fonts. The default value is a
- Helvetica font. The function Fl::set_font() can define new fonts.
- */
+
Fl_Font labelfont() const {return labelfont_;}
- /**
- Sets the menu item's label font.
- Fonts are identified by small 8-bit indexes into a table. See the
- enumeration list for predefined fonts. The default value is a
- Helvetica font. The function Fl::set_font() can define new fonts.
- */
void labelfont(Fl_Font a) {labelfont_ = a;}
- /** Gets the label font pixel size/height. */
Fl_Fontsize labelsize() const {return labelsize_;}
- /** Sets the label font pixel size/height.*/
void labelsize(Fl_Fontsize a) {labelsize_ = a;}
- /**
- Returns the callback function that is set for the menu item.
- Each item has space for a callback function and an argument for that
- function. Due to back compatibility, the Fl_Menu_Item itself
- is not passed to the callback, instead you have to get it by calling
- ((Fl_Menu_*)w)->mvalue() where w is the widget argument.
- */
Fl_Callback_p callback() const {return callback_;}
- /**
- Sets the menu item's callback function and userdata() argument.
- \see Fl_Callback_p Fl_MenuItem::callback() const
- */
void callback(Fl_Callback* c, void* p) {callback_=c; user_data_=p;}
- /**
- Sets the menu item's callback function.
- This method does not set the userdata() argument.
- \see Fl_Callback_p Fl_MenuItem::callback() const
- */
void callback(Fl_Callback* c) {callback_=c;}
- /**
- Sets the menu item's callback function.
- This method does not set the userdata() argument.
- \see Fl_Callback_p Fl_MenuItem::callback() const
- */
void callback(Fl_Callback0*c) {callback_=(Fl_Callback*)c;}
- /**
- Sets the menu item's callback function and userdata() argument.
- This method does not set the userdata() argument.
- The argument \p is cast to void* and stored as the userdata()
- for the menu item's callback function.
- \see Fl_Callback_p Fl_MenuItem::callback() const
- */
void callback(Fl_Callback1*c, long p=0) {callback_=(Fl_Callback*)c;
user_data_=(void*)p;}
- /**
- Gets the user_data() argument that is sent to the callback function.
- */
void* user_data() const {return user_data_;}
- /**
- Sets the user_data() argument that is sent to the callback function.
- */
+
void user_data(void* v) {user_data_ = v;}
- /**
- Gets the user_data() argument that is sent to the callback function.
- For convenience you can also define the callback as taking a long
- argument. This method casts the stored userdata() argument to long
- and returns it as a \e long value.
- */
+
long argument() const {return (long)(fl_intptr_t)user_data_;}
- /**
- Sets the user_data() argument that is sent to the callback function.
- For convenience you can also define the callback as taking a long
- argument. This method casts the given argument \p v to void*
- and stores it in the menu item's userdata() member.
- This may not be portable to some machines.
- */
+
void argument(long v) {user_data_ = (void*)v;}
- /** Gets what key combination shortcut will trigger the menu item. */
int shortcut() const {return shortcut_;}
- /**
- Sets exactly what key combination will trigger the menu item. The
- value is a logical 'or' of a key and a set of shift flags, for instance
- FL_ALT+'a' or FL_ALT+FL_F+10 or just 'a'. A value of
- zero disables the shortcut.
-
- The key can be any value returned by Fl::event_key(), but will usually
- be an ASCII letter. Use a lower-case letter unless you require the shift
- key to be held down.
-
- The shift flags can be any set of values accepted by Fl::event_state().
- If the bit is on that shift key must be pushed. Meta, Alt, Ctrl,
- and Shift must be off if they are not in the shift flags (zero for the
- other bits indicates a "don't care" setting).
- */
void shortcut(int s) {shortcut_ = s;}
- /**
- Returns true if either FL_SUBMENU or FL_SUBMENU_POINTER
- is on in the flags. FL_SUBMENU indicates an embedded submenu
- that goes from the next item through the next one with a NULL
- label(). FL_SUBMENU_POINTER indicates that user_data()
- is a pointer to another menu array.
- */
+
int submenu() const {return flags&(FL_SUBMENU|FL_SUBMENU_POINTER);}
- /**
- Returns true if a checkbox will be drawn next to this item.
- This is true if FL_MENU_TOGGLE or FL_MENU_RADIO is set in the flags.
- */
+
int checkbox() const {return flags&FL_MENU_TOGGLE;}
- /**
- Returns true if this item is a radio item.
- When a radio button is selected all "adjacent" radio buttons are
- turned off. A set of radio items is delimited by an item that has
- radio() false, or by an item with FL_MENU_DIVIDER turned on.
- */
+
int radio() const {return flags&FL_MENU_RADIO;}
- /** Returns the current value of the check or radio item. */
+
int value() const {return flags&FL_MENU_VALUE;}
- /**
- Turns the check or radio item "on" for the menu item. Note that this
- does not turn off any adjacent radio items like set_only() does.
- */
+
void set() {flags |= FL_MENU_VALUE;}
- /** Turns the check or radio item "off" for the menu item. */
void clear() {flags &= ~FL_MENU_VALUE;}
void setonly();
- /** Gets the visibility of an item. */
int visible() const {return !(flags&FL_MENU_INVISIBLE);}
- /** Makes an item visible in the menu. */
void show() {flags &= ~FL_MENU_INVISIBLE;}
- /** Hides an item in the menu. */
void hide() {flags |= FL_MENU_INVISIBLE;}
- /** Gets whether or not the item can be picked. */
int active() const {return !(flags&FL_MENU_INACTIVE);}
- /** Allows a menu item to be picked. */
void activate() {flags &= ~FL_MENU_INACTIVE;}
- /**
- Prevents a menu item from being picked. Note that this will also cause
- the menu item to appear grayed-out.
- */
+
void deactivate() {flags |= FL_MENU_INACTIVE;}
- /** Returns non 0 if FL_INACTIVE and FL_INVISIBLE are cleared, 0 otherwise.
*/
+
int activevisible() const {return !(flags &
(FL_MENU_INACTIVE|FL_MENU_INVISIBLE));}
- // compatibility for FLUID so it can set the image of a menu item...
-
- /** compatibility api for FLUID, same as a->label(this) */
void image(Fl_Image* a) {a->label(this);}
- /** compatibility api for FLUID, same as a.label(this) */
void image(Fl_Image& a) {a.label(this);}
- // used by menubar:
int measure(int* h, const Fl_Menu_*) const;
+
void draw(int x, int y, int w, int h, const Fl_Menu_*, int t=0) const;
- // popup menus without using an Fl_Menu_ widget:
const Fl_Menu_Item* popup(
int X, int Y,
const char *title = 0,
const Fl_Menu_Item* picked=0,
const Fl_Menu_* = 0) const;
+
const Fl_Menu_Item* pulldown(
int X, int Y, int W, int H,
const Fl_Menu_Item* picked = 0,
const Fl_Menu_* = 0,
const Fl_Menu_Item* title = 0,
int menubar=0) const;
+
const Fl_Menu_Item* test_shortcut() const;
+
const Fl_Menu_Item* find_shortcut(int *ip=0, const bool require_alt = false)
const;
- /**
- Calls the Fl_Menu_Item item's callback, and provides the Fl_Widget
argument.
- The callback is called with the stored user_data() as its second argument.
- You must first check that callback() is non-zero before calling this.
- */
void do_callback(Fl_Widget* o) const {callback_(o, user_data_);}
- /**
- Calls the Fl_Menu_Item item's callback, and provides the Fl_Widget
argument.
- This call overrides the callback's second argument with the given value \p
arg.
- You must first check that callback() is non-zero before calling this.
- */
void do_callback(Fl_Widget* o,void* arg) const {callback_(o, arg);}
- /**
- Calls the Fl_Menu_Item item's callback, and provides the Fl_Widget
argument.
- This call overrides the callback's second argument with the
- given value \p arg. long \p arg is cast to void* when calling
- the callback.
- You must first check that callback() is non-zero before calling this.
- */
void do_callback(Fl_Widget* o,long arg) const {callback_(o, (void*)arg);}
- // back-compatibility, do not use:
-
- /** back compatibility only \deprecated. */
int checked() const {return flags&FL_MENU_VALUE;}
- /** back compatibility only \deprecated. */
void check() {flags |= FL_MENU_VALUE;}
- /** back compatibility only \deprecated. */
void uncheck() {flags &= ~FL_MENU_VALUE;}
int insert(int,const char*,int,Fl_Callback*,void* =0, int =0);
+
int add(const char*, int shortcut, Fl_Callback*, void* =0, int = 0);
- /** See int add(const char*, int shortcut, Fl_Callback*, void*, int) */
int add(const char*a, const char* b, Fl_Callback* c,
void* d = 0, int e = 0) {
return add(a,fl_old_shortcut(b),c,d,e);}
int size() const ;
-};
-typedef Fl_Menu_Item Fl_Menu; // back compatibility
-
-enum { // back-compatibility enum:
- FL_PUP_NONE = 0,
- FL_PUP_GREY = FL_MENU_INACTIVE,
- FL_PUP_GRAY = FL_MENU_INACTIVE,
- FL_MENU_BOX = FL_MENU_TOGGLE,
- FL_PUP_BOX = FL_MENU_TOGGLE,
- FL_MENU_CHECK = FL_MENU_VALUE,
- FL_PUP_CHECK = FL_MENU_VALUE,
- FL_PUP_RADIO = FL_MENU_RADIO,
- FL_PUP_INVISIBLE = FL_MENU_INVISIBLE,
- FL_PUP_SUBMENU = FL_SUBMENU_POINTER
};
#endif
Modified: branches/branch-3.0/FL/Fl_Multiline_Input.H
===================================================================
--- branches/branch-3.0/FL/Fl_Multiline_Input.H 2011-06-04 20:46:25 UTC (rev
8780)
+++ branches/branch-3.0/FL/Fl_Multiline_Input.H 2011-06-04 21:51:31 UTC (rev
8781)
@@ -1,10 +1,10 @@
-#error header has not been ported to 3.0 yet
//
// "$Id$"
//
// Multiline input header file for the Fast Light Tool Kit (FLTK).
+// FLTK 123 wrapper finished
//
-// Copyright 1998-2010 by Bill Spitzak and others.
+// Copyright 1998-2011 by Bill Spitzak and others.
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Library General Public
@@ -26,42 +26,24 @@
// http://www.fltk.org/str.php
//
-/* \file
- Fl_Multiline_Input widget . */
-
#ifndef Fl_Multiline_Input_H
#define Fl_Multiline_Input_H
+#include <fltk3/MultilineInput.h>
#include "Fl_Input.H"
-/**
- This input field displays '\n' characters as new lines rather than ^J,
- and accepts the Return, Tab, and up and down arrow keys. This is for
- editing multiline text.
+class FL_EXPORT Fl_Multiline_Input : public Fl_Input {
- This is far from the nirvana of text editors, and is probably only
- good for small bits of text, 10 lines at most. Note that this widget
- does not support scrollbars or per-character color control.
+public:
- If you are presenting large amounts of text and need scrollbars
- or full color control of characters, you probably want Fl_Text_Editor
- instead.
+ Fl_Multiline_Input() { /* empty */ }
+
+ Fl_Multiline_Input(int X,int Y,int W,int H,const char *l = 0) {
+ _p = new fltk3::MultilineInput(x, y, w, h, label);
+ _p->wrapper(this);
+ }
- In FLTK 1.3.x, the default behavior of the 'Tab' key was changed
- to support consistent focus navigation. To get the older FLTK 1.1.x
- behavior, set Fl_Input_::tab_nav() to 0. Newer programs should consider using
- Fl_Text_Editor.
-*/
-class FL_EXPORT Fl_Multiline_Input : public Fl_Input {
-public:
- /**
- Creates a new Fl_Multiline_Input widget using the given
- position, size, and label string. The default boxtype is FL_DOWN_BOX.
- <P>Inherited destructor destroys the widget and any value associated with
it.
- */
- Fl_Multiline_Input(int X,int Y,int W,int H,const char *l = 0)
- : Fl_Input(X,Y,W,H,l) {type(FL_MULTILINE_INPUT);}
};
#endif
Modified: branches/branch-3.0/FL/Fl_Multiline_Output.H
===================================================================
--- branches/branch-3.0/FL/Fl_Multiline_Output.H 2011-06-04 20:46:25 UTC
(rev 8780)
+++ branches/branch-3.0/FL/Fl_Multiline_Output.H 2011-06-04 21:51:31 UTC
(rev 8781)
@@ -1,10 +1,10 @@
-#error header has not been ported to 3.0 yet
//
// "$Id$"
//
// Multi line output header file for the Fast Light Tool Kit (FLTK).
+// FLTK 123 wrapper finished
//
-// Copyright 1998-2010 by Bill Spitzak and others.
+// Copyright 1998-2011 by Bill Spitzak and others.
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Library General Public
@@ -26,36 +26,24 @@
// http://www.fltk.org/str.php
//
-/* \file
- Fl_Multiline_Output widget . */
-
#ifndef Fl_Multiline_Output_H
#define Fl_Multiline_Output_H
+#include <fltk3/MultilineOutput.h>
#include "Fl_Output.H"
-/**
- This widget is a subclass of Fl_Output that displays multiple
- lines of text. It also displays tab characters as whitespace to the
- next column.
- Note that this widget does not support scrollbars, or per-character
- color control.
-
- If you are presenting large amounts of read-only text
- and need scrollbars, or full color control of characters,
- then use Fl_Text_Display. If you want to display HTML text,
- use Fl_Help_View.
-*/
class FL_EXPORT Fl_Multiline_Output : public Fl_Output {
+
public:
- /**
- Creates a new Fl_Multiline_Output widget using the given
- position, size, and label string. The default boxtype is FL_DOWN_BOX
- <P> Inherited destructor destroys the widget and any value associated with
it.
- */
- Fl_Multiline_Output(int X,int Y,int W,int H,const char *l = 0)
- : Fl_Output(X,Y,W,H,l) {type(FL_MULTILINE_OUTPUT);}
+
+ Fl_Multiline_Output() { /* emty */ }
+
+ Fl_Multiline_Output(int X,int Y,int W,int H,const char *l = 0) {
+ _p = new fltk3::MultilineOutput(X, Y, W, H, l);
+ _p->wrapper(this);
+ }
+
};
#endif
_______________________________________________
fltk-commit mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-commit