Does not clear Fl::keysym on every event, this makes better back compatability and fixes Win2000
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1325 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
parent
710dcef237
commit
2cbf4041b3
@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// "$Id: glut.H,v 1.6.2.4 2000/10/17 07:30:22 spitzak Exp $"
|
// "$Id: glut.H,v 1.6.2.5 2000/10/21 20:01:55 spitzak Exp $"
|
||||||
//
|
//
|
||||||
// GLUT emulation header file for the Fast Light Tool Kit (FLTK).
|
// GLUT emulation header file for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
@ -435,8 +435,8 @@ extern "C" {
|
|||||||
extern APIENTRY int glutExtensionSupported(char *name);
|
extern APIENTRY int glutExtensionSupported(char *name);
|
||||||
|
|
||||||
/* Stroke font opaque addresses (use constants instead in source code). */
|
/* Stroke font opaque addresses (use constants instead in source code). */
|
||||||
extern FL_GLUT_API void *glutStrokeRoman;
|
extern APIENTRY void *glutStrokeRoman;
|
||||||
extern FL_GLUT_API void *glutStrokeMonoRoman;
|
extern APIENTRY void *glutStrokeMonoRoman;
|
||||||
|
|
||||||
/* Stroke font constants (use these in GLUT program). */
|
/* Stroke font constants (use these in GLUT program). */
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
@ -476,5 +476,5 @@ extern APIENTRY void glutSolidIcosahedron();
|
|||||||
#endif /* __glut_h__ */
|
#endif /* __glut_h__ */
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id: glut.H,v 1.6.2.4 2000/10/17 07:30:22 spitzak Exp $".
|
// End of "$Id: glut.H,v 1.6.2.5 2000/10/21 20:01:55 spitzak Exp $".
|
||||||
//
|
//
|
||||||
|
25
configure.in
25
configure.in
@ -1,7 +1,7 @@
|
|||||||
dnl -*- sh -*-
|
dnl -*- sh -*-
|
||||||
dnl the "configure" script is made from this by running GNU "autoconf"
|
dnl the "configure" script is made from this by running GNU "autoconf"
|
||||||
dnl
|
dnl
|
||||||
dnl "$Id: configure.in,v 1.33.2.15 2000/06/06 14:48:17 mike Exp $"
|
dnl "$Id: configure.in,v 1.33.2.16 2000/10/21 20:01:55 spitzak Exp $"
|
||||||
dnl
|
dnl
|
||||||
dnl Configuration script for the Fast Light Tool Kit (FLTK).
|
dnl Configuration script for the Fast Light Tool Kit (FLTK).
|
||||||
dnl
|
dnl
|
||||||
@ -140,11 +140,10 @@ AC_CHECK_FUNC(snprintf,
|
|||||||
AC_CHECK_FUNCS(vsprintf)
|
AC_CHECK_FUNCS(vsprintf)
|
||||||
|
|
||||||
AC_PATH_XTRA
|
AC_PATH_XTRA
|
||||||
echo "Ignoring libraries \"$X_PRE_LIBS\" requested by configure."
|
dnl# echo "Ignoring libraries \"$X_PRE_LIBS\" requested by configure."
|
||||||
dnl LIBS="$LIBS$X_LIBS$X_PRE_LIBS"
|
|
||||||
LIBS="$LIBS$X_LIBS"
|
LIBS="$LIBS$X_LIBS"
|
||||||
CFLAGS="$CFLAGS $X_CFLAGS"
|
CFLAGS="$CFLAGS$X_CFLAGS"
|
||||||
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
|
CXXFLAGS="$CXXFLAGS$X_CFLAGS"
|
||||||
|
|
||||||
dnl My test to see if OpenGL is on this machine:
|
dnl My test to see if OpenGL is on this machine:
|
||||||
GLLIB=
|
GLLIB=
|
||||||
@ -176,10 +175,15 @@ dnl add warnings to compiler switches:
|
|||||||
dnl do this last so messing with switches does not break tests
|
dnl do this last so messing with switches does not break tests
|
||||||
if test -n "$GXX"; then
|
if test -n "$GXX"; then
|
||||||
CFLAGS="-Wall $CFLAGS"
|
CFLAGS="-Wall $CFLAGS"
|
||||||
CXXFLAGS="-Wall -Wno-return-type $CXXFLAGS"
|
CXXFLAGS="-Wall $CXXFLAGS"
|
||||||
if test -z "$DEBUGFLAG"; then
|
if test -z "$DEBUGFLAG"; then
|
||||||
CFLAGS="-O2 -fforce-mem -fforce-addr -fcaller-saves $CFLAGS"
|
# Note: Can't use -fomit-frame-pointer - prevents tools like
|
||||||
CXXFLAGS="-O2 -fforce-mem -fforce-addr -fcaller-saves $CXXFLAGS"
|
# libsafe from working!
|
||||||
|
# WAS: I removed the -fforce-mem, -fforce-addr, -fcaller-saves
|
||||||
|
# They all seemed to make either no difference or enlarged
|
||||||
|
# the code by a few hundred bytes.
|
||||||
|
CFLAGS="-O2 $CFLAGS"
|
||||||
|
CXXFLAGS="-O2 $CXXFLAGS"
|
||||||
fi
|
fi
|
||||||
if test $PICFLAG = 1; then
|
if test $PICFLAG = 1; then
|
||||||
CFLAGS="-fPIC $CFLAGS"
|
CFLAGS="-fPIC $CFLAGS"
|
||||||
@ -223,9 +227,8 @@ else
|
|||||||
# MAKEDEPEND="CC -M"
|
# MAKEDEPEND="CC -M"
|
||||||
|
|
||||||
echo "FOR BEST RESULTS BEFORE COMPILING: setenv SGI_ABI -n32"
|
echo "FOR BEST RESULTS BEFORE COMPILING: setenv SGI_ABI -n32"
|
||||||
# -woff 3322 is necessary due to errors in Xlib headers on IRIX
|
|
||||||
CFLAGS="-fullwarn $CFLAGS"
|
CFLAGS="-fullwarn $CFLAGS"
|
||||||
CXXFLAGS="-fullwarn -woff 1685,3322 $CXXFLAGS"
|
CXXFLAGS="-fullwarn $CXXFLAGS"
|
||||||
else
|
else
|
||||||
CXXFLAGS="+w +pp $CXXFLAGS"
|
CXXFLAGS="+w +pp $CXXFLAGS"
|
||||||
fi
|
fi
|
||||||
@ -275,5 +278,5 @@ AC_CONFIG_HEADER(config.h:configh.in)
|
|||||||
AC_OUTPUT(makeinclude)
|
AC_OUTPUT(makeinclude)
|
||||||
|
|
||||||
dnl
|
dnl
|
||||||
dnl End of "$Id: configure.in,v 1.33.2.15 2000/06/06 14:48:17 mike Exp $".
|
dnl End of "$Id: configure.in,v 1.33.2.16 2000/10/21 20:01:55 spitzak Exp $".
|
||||||
dnl
|
dnl
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# "$Id: makeinclude.in,v 1.7.2.5 2000/07/07 08:38:58 spitzak Exp $"
|
# "$Id: makeinclude.in,v 1.7.2.6 2000/10/21 20:01:55 spitzak Exp $"
|
||||||
#
|
#
|
||||||
# Make include file for the Fast Light Tool Kit (FLTK).
|
# Make include file for the Fast Light Tool Kit (FLTK).
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
@ -38,8 +38,8 @@ CC =@CC@
|
|||||||
MAKEDEPEND =@MAKEDEPEND@
|
MAKEDEPEND =@MAKEDEPEND@
|
||||||
|
|
||||||
# flags for C++ compiler:
|
# flags for C++ compiler:
|
||||||
CFLAGS =@CFLAGS@ @X_CFLAGS@
|
CFLAGS =@CFLAGS@
|
||||||
CXXFLAGS =@CXXFLAGS@ @X_CFLAGS@
|
CXXFLAGS =@CXXFLAGS@
|
||||||
|
|
||||||
# program to make the archive:
|
# program to make the archive:
|
||||||
LIBNAME =@LIBNAME@
|
LIBNAME =@LIBNAME@
|
||||||
@ -71,5 +71,5 @@ GLDLIBS =@LDFLAGS@ @LIBS@ @GLLIB@ -lX11 -lXext @X_EXTRA_LIBS@ -lm
|
|||||||
$(CXX) -I.. $(CXXFLAGS) $< -c
|
$(CXX) -I.. $(CXXFLAGS) $< -c
|
||||||
|
|
||||||
#
|
#
|
||||||
# End of "$Id: makeinclude.in,v 1.7.2.5 2000/07/07 08:38:58 spitzak Exp $".
|
# End of "$Id: makeinclude.in,v 1.7.2.6 2000/10/21 20:01:55 spitzak Exp $".
|
||||||
#
|
#
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// "$Id: Fl.cxx,v 1.24.2.31 2000/10/17 06:40:53 spitzak Exp $"
|
// "$Id: Fl.cxx,v 1.24.2.32 2000/10/21 20:01:55 spitzak Exp $"
|
||||||
//
|
//
|
||||||
// Main event handling code for the Fast Light Tool Kit (FLTK).
|
// Main event handling code for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
@ -372,6 +372,7 @@ void fl_fix_focus() {
|
|||||||
// set focus based on Fl::modal() and fl_xfocus
|
// set focus based on Fl::modal() and fl_xfocus
|
||||||
Fl_Widget* w = fl_xfocus;
|
Fl_Widget* w = fl_xfocus;
|
||||||
if (w) {
|
if (w) {
|
||||||
|
Fl::e_keysym = 0; // make sure widgets don't think a keystroke moved focus
|
||||||
while (w->parent()) w = w->parent();
|
while (w->parent()) w = w->parent();
|
||||||
if (Fl::modal()) w = Fl::modal();
|
if (Fl::modal()) w = Fl::modal();
|
||||||
if (!w->contains(Fl::focus()))
|
if (!w->contains(Fl::focus()))
|
||||||
@ -733,5 +734,5 @@ void Fl_Window::flush() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id: Fl.cxx,v 1.24.2.31 2000/10/17 06:40:53 spitzak Exp $".
|
// End of "$Id: Fl.cxx,v 1.24.2.32 2000/10/21 20:01:55 spitzak Exp $".
|
||||||
//
|
//
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// "$Id: Fl_Group.cxx,v 1.8.2.6 2000/06/05 21:20:51 mike Exp $"
|
// "$Id: Fl_Group.cxx,v 1.8.2.7 2000/10/21 20:01:56 spitzak Exp $"
|
||||||
//
|
//
|
||||||
// Group widget for the Fast Light Tool Kit (FLTK).
|
// Group widget for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
@ -277,21 +277,29 @@ void Fl_Group::clear() {
|
|||||||
|
|
||||||
Fl_Group::~Fl_Group() {clear();}
|
Fl_Group::~Fl_Group() {clear();}
|
||||||
|
|
||||||
void Fl_Group::insert(Fl_Widget &o, int i) {
|
void Fl_Group::insert(Fl_Widget &o, int index) {
|
||||||
if (o.parent()) ((Fl_Group*)(o.parent()))->remove(o);
|
if (o.parent()) {
|
||||||
|
Fl_Group* g = (Fl_Group*)(o.parent());
|
||||||
|
int n = g->find(o);
|
||||||
|
if (g == this) {
|
||||||
|
if (index > n) index--;
|
||||||
|
if (index == n) return;
|
||||||
|
}
|
||||||
|
g->remove(o);
|
||||||
|
}
|
||||||
o.parent_ = this;
|
o.parent_ = this;
|
||||||
if (children_ == 0) { // use array pointer to point at single child
|
if (children_ == 0) { // use array pointer to point at single child
|
||||||
array_ = (Fl_Widget**)&o;
|
array_ = (Fl_Widget**)&o;
|
||||||
} else if (children_ == 1) { // go from 1 to 2 children
|
} else if (children_ == 1) { // go from 1 to 2 children
|
||||||
Fl_Widget* t = (Fl_Widget*)array_;
|
Fl_Widget* t = (Fl_Widget*)array_;
|
||||||
array_ = (Fl_Widget**)malloc(2*sizeof(Fl_Widget*));
|
array_ = (Fl_Widget**)malloc(2*sizeof(Fl_Widget*));
|
||||||
if (i) {array_[0] = t; array_[1] = &o;}
|
if (index) {array_[0] = t; array_[1] = &o;}
|
||||||
else {array_[0] = &o; array_[1] = t;}
|
else {array_[0] = &o; array_[1] = t;}
|
||||||
} else {
|
} else {
|
||||||
if (!(children_ & (children_-1))) // double number of children
|
if (!(children_ & (children_-1))) // double number of children
|
||||||
array_ = (Fl_Widget**)realloc((void*)array_,
|
array_ = (Fl_Widget**)realloc((void*)array_,
|
||||||
2*children_*sizeof(Fl_Widget*));
|
2*children_*sizeof(Fl_Widget*));
|
||||||
int j; for (j = children_; j > i; j--) array_[j] = array_[j-1];
|
int j; for (j = children_; j > index; j--) array_[j] = array_[j-1];
|
||||||
array_[j] = &o;
|
array_[j] = &o;
|
||||||
}
|
}
|
||||||
children_++;
|
children_++;
|
||||||
@ -505,5 +513,5 @@ void Fl_Group::draw_outside_label(const Fl_Widget& w) const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id: Fl_Group.cxx,v 1.8.2.6 2000/06/05 21:20:51 mike Exp $".
|
// End of "$Id: Fl_Group.cxx,v 1.8.2.7 2000/10/21 20:01:56 spitzak Exp $".
|
||||||
//
|
//
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// "$Id: Fl_win32.cxx,v 1.33.2.28 2000/06/20 05:47:38 bill Exp $"
|
// "$Id: Fl_win32.cxx,v 1.33.2.29 2000/10/21 20:01:56 spitzak Exp $"
|
||||||
//
|
//
|
||||||
// WIN32-specific code for the Fast Light Tool Kit (FLTK).
|
// WIN32-specific code for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
@ -417,7 +417,6 @@ static Fl_Window* resize_bug_fix;
|
|||||||
|
|
||||||
static LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
static LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
Fl::e_keysym = 0;
|
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
// Not sure what this is, it may be left over from earlier attempts to
|
// Not sure what this is, it may be left over from earlier attempts to
|
||||||
@ -951,5 +950,5 @@ void Fl_Window::make_current() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id: Fl_win32.cxx,v 1.33.2.28 2000/06/20 05:47:38 bill Exp $".
|
// End of "$Id: Fl_win32.cxx,v 1.33.2.29 2000/10/21 20:01:56 spitzak Exp $".
|
||||||
//
|
//
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// "$Id: Fl_x.cxx,v 1.24.2.19 2000/08/20 04:35:16 spitzak Exp $"
|
// "$Id: Fl_x.cxx,v 1.24.2.20 2000/10/21 20:01:56 spitzak Exp $"
|
||||||
//
|
//
|
||||||
// X specific code for the Fast Light Tool Kit (FLTK).
|
// X specific code for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
@ -364,7 +364,6 @@ static Fl_Window* resize_bug_fix;
|
|||||||
|
|
||||||
int fl_handle(const XEvent& xevent)
|
int fl_handle(const XEvent& xevent)
|
||||||
{
|
{
|
||||||
Fl::e_keysym = 0;
|
|
||||||
fl_xevent = &xevent;
|
fl_xevent = &xevent;
|
||||||
Window xid = xevent.xany.window;
|
Window xid = xevent.xany.window;
|
||||||
|
|
||||||
@ -898,5 +897,5 @@ void Fl_Window::make_current() {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id: Fl_x.cxx,v 1.24.2.19 2000/08/20 04:35:16 spitzak Exp $".
|
// End of "$Id: Fl_x.cxx,v 1.24.2.20 2000/10/21 20:01:56 spitzak Exp $".
|
||||||
//
|
//
|
||||||
|
18
test/tabs.fl
18
test/tabs.fl
@ -1,15 +1,17 @@
|
|||||||
# data file for the Fltk User Interface Designer (fluid)
|
# data file for the Fltk User Interface Designer (fluid)
|
||||||
version 0.99
|
version 1.0009
|
||||||
|
header_name {.h}
|
||||||
|
code_name {.cxx}
|
||||||
gridx 10
|
gridx 10
|
||||||
gridy 10
|
gridy 10
|
||||||
snap 3
|
snap 3
|
||||||
Function {} {open
|
Function {} {open
|
||||||
} {
|
} {
|
||||||
Fl_Window foo_window {open
|
Fl_Window foo_window {open
|
||||||
xywh {329 266 321 324} hide resizable
|
xywh {329 266 321 324} resizable visible
|
||||||
} {
|
} {
|
||||||
Fl_Tabs {} {open
|
Fl_Tabs {} {open
|
||||||
xywh {10 10 300 200} color {47 15} resizable
|
xywh {10 10 300 200} selection_color 15 resizable
|
||||||
} {
|
} {
|
||||||
Fl_Group {} {
|
Fl_Group {} {
|
||||||
label Label1 open
|
label Label1 open
|
||||||
@ -41,13 +43,13 @@ Function {} {open
|
|||||||
xywh {140 100 100 30}
|
xywh {140 100 100 30}
|
||||||
}
|
}
|
||||||
Fl_Button {} {
|
Fl_Button {} {
|
||||||
label {This is stuff inside the Fl_Group "tab2"} selected
|
label {This is stuff inside the Fl_Group "tab2"}
|
||||||
xywh {30 140 260 30}
|
xywh {30 140 260 30}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Fl_Group {} {
|
Fl_Group {} {
|
||||||
label tab3 open
|
label tab3 open selected
|
||||||
xywh {10 30 300 180} hide
|
xywh {10 30 300 180}
|
||||||
} {
|
} {
|
||||||
Fl_Button {} {
|
Fl_Button {} {
|
||||||
label button2
|
label button2
|
||||||
@ -81,7 +83,7 @@ Function {} {open
|
|||||||
}
|
}
|
||||||
Fl_Group {} {
|
Fl_Group {} {
|
||||||
label { tab5 } open
|
label { tab5 } open
|
||||||
xywh {10 30 300 180} labeltype ENGRAVED_LABEL
|
xywh {10 30 300 180} labeltype ENGRAVED_LABEL hide
|
||||||
} {
|
} {
|
||||||
Fl_Button {} {
|
Fl_Button {} {
|
||||||
label button2
|
label button2
|
||||||
@ -93,7 +95,7 @@ Function {} {open
|
|||||||
}
|
}
|
||||||
Fl_Clock {} {
|
Fl_Clock {} {
|
||||||
label {Make sure this clock does not use processor time when this tab is hidden or window is iconized}
|
label {Make sure this clock does not use processor time when this tab is hidden or window is iconized}
|
||||||
xywh {160 50 100 100} box OSHADOW_BOX color {238 0} labelfont 8 labelsize 10 align 130
|
xywh {160 50 100 100} box OSHADOW_BOX color 238 selection_color 0 labelfont 8 labelsize 10 align 130
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user