From 6655fc1ebb24df691594ebb91b554589f1d6b99e Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@ulg.ac.be>
Date: Fri, 10 Mar 2006 06:39:46 +0000
Subject: [PATCH] fix popup+make depend

---
 Common/Makefile       |  4 +--
 Fltk/GUI.cpp          | 10 +++----
 Fltk/GUI.h            | 27 +++--------------
 Fltk/Makefile         | 35 ++++++++++++----------
 Fltk/Popup_Button.cpp | 68 +++++++++++++++++++++++++++++++++++++++++++
 Fltk/Popup_Button.h   | 39 +++++++++++++++++++++++++
 Geo/Makefile          | 41 ++++++++++++++++++++------
 Parser/Makefile       |  5 ++--
 Plugin/Makefile       |  4 +--
 9 files changed, 174 insertions(+), 59 deletions(-)
 create mode 100644 Fltk/Popup_Button.cpp
 create mode 100644 Fltk/Popup_Button.h

diff --git a/Common/Makefile b/Common/Makefile
index a8e39c9aad..d90a272fac 100644
--- a/Common/Makefile
+++ b/Common/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.86 2006-02-26 16:26:08 geuzaine Exp $
+# $Id: Makefile,v 1.87 2006-03-10 06:39:46 geuzaine Exp $
 #
 # Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 #
@@ -118,7 +118,7 @@ Options.o: Options.cpp ../Plugin/PluginManager.h ../Plugin/Plugin.h \
   ../Mesh/Metric.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Mesh.h \
   ../Mesh/Matrix.h ../Graphics/Draw.h Context.h Options.h \
   ../Fltk/Solvers.h ../Fltk/GUI.h ../Fltk/Opengl_Window.h \
-  ../Fltk/Colorbar_Window.h ../Common/GmshUI.h
+  ../Fltk/Colorbar_Window.h ../Common/GmshUI.h ../Fltk/Popup_Button.h
 # 1 "/Users/geuzaine/.gmsh/Common//"
 CommandLine.o: CommandLine.cpp Gmsh.h Message.h ../DataStr/Malloc.h \
   ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
diff --git a/Fltk/GUI.cpp b/Fltk/GUI.cpp
index 16584798e2..8bca4239e5 100644
--- a/Fltk/GUI.cpp
+++ b/Fltk/GUI.cpp
@@ -1,4 +1,4 @@
-// $Id: GUI.cpp,v 1.494 2006-03-10 05:09:58 geuzaine Exp $
+// $Id: GUI.cpp,v 1.495 2006-03-10 06:39:46 geuzaine Exp $
 //
 // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 //
@@ -971,7 +971,7 @@ void GUI::wait(double time)
 
 // Create the menu window
 
-void GUI::add_post_plugins(PopupButton * button, int iView)
+void GUI::add_post_plugins(Popup_Button * button, int iView)
 {
   char name[256], menuname[256];
   for(GMSH_PluginManager::iter it = GMSH_PluginManager::instance()->begin();
@@ -1230,10 +1230,10 @@ void GUI::set_context(Context_Item * menu_asked, int flag)
       b2->align(FL_ALIGN_RIGHT | FL_ALIGN_INSIDE | FL_ALIGN_CLIP);
       b2->tooltip("Show view option menu (Shift+w)");
   
-      PopupButton *p[2];
-      p[0] = new PopupButton(width - popw, MH + nb * BH, popw, BH);
+      Popup_Button *p[2];
+      p[0] = new Popup_Button(width - popw, MH + nb * BH, popw, BH);
       p[0]->type(Fl_Menu_Button::POPUP123);
-      p[1] = new PopupButton(0, MH + nb * BH, width - popw, BH);
+      p[1] = new Popup_Button(0, MH + nb * BH, width - popw, BH);
       p[1]->type(Fl_Menu_Button::POPUP3);
   
       for(int j = 0; j < 2; j++) {
diff --git a/Fltk/GUI.h b/Fltk/GUI.h
index 3011ebeb85..9a353d52a9 100644
--- a/Fltk/GUI.h
+++ b/Fltk/GUI.h
@@ -33,7 +33,6 @@
 #include <FL/Fl_Return_Button.H>
 #include <FL/Fl_Repeat_Button.H>
 #include <FL/Fl_Light_Button.H>
-#include <FL/Fl_Menu_Button.H>
 #include <FL/Fl_Check_Button.H>
 #include <FL/Fl_Input.H>
 #include <FL/Fl_Value_Input.H>
@@ -58,6 +57,7 @@
 
 #include "Opengl_Window.h"
 #include "Colorbar_Window.h"
+#include "Popup_Button.h"
 
 // The dynamic contexts
 
@@ -120,25 +120,6 @@ struct SolverDialogBox
   Fl_Button *command[10] ;
 };
 
-// We need to define our own popup button to fix a bug in FLTK 1.1.7
-// (popup() in 1.1.7 calls redraw() after picked(), which can cause a
-// crash if the button was deleted by the callback)
-
-class PopupButton : public Fl_Menu_Button {
- public:
-  PopupButton(int x, int y, int w, int h, char *label=0) 
-    : Fl_Menu_Button(x, y, w, h, label) {}
-  void draw(){ Fl_Menu_Button::draw(); }
-  int handle(int e){ return Fl_Menu_Button::handle(e); }
-  const Fl_Menu_Item* popup()
-  {
-    const Fl_Menu_Item* m;
-    m = menu()->popup(Fl::event_x(), Fl::event_y(), label(), mvalue(), this);
-    picked(m);
-    return m;
-  }
-};
-
 // The GUI class contains only the important widgets (which can be set/queried).
 
 class GUI{
@@ -148,7 +129,7 @@ class GUI{
 
   // Bitmaps
   Fl_Bitmap  *abort_bmp, *start_bmp, *stop_bmp, *rewind_bmp, *rotate_bmp, *ortho_bmp ;
-  void add_post_plugins(PopupButton *button , int iView);
+  void add_post_plugins(Popup_Button *button , int iView);
   void add_multiline_in_browser(Fl_Browser *o, char* prefix, char *str);
 
 public:
@@ -164,8 +145,8 @@ public:
   std::vector<Fl_Button*>       m_push_butt ;
   std::vector<Fl_Light_Button*> m_toggle_butt ;
   std::vector<Fl_Button*>       m_toggle2_butt ;
-  std::vector<PopupButton*>     m_popup_butt ;
-  std::vector<PopupButton*>     m_popup2_butt ;
+  std::vector<Popup_Button*>    m_popup_butt ;
+  std::vector<Popup_Button*>    m_popup2_butt ;
   std::vector<char*>            m_pop_label ;
   std::vector<std::pair<int, GMSH_Plugin*>*> m_pop_plugin;
 
diff --git a/Fltk/Makefile b/Fltk/Makefile
index e3f5c971fd..b4693f7c64 100644
--- a/Fltk/Makefile
+++ b/Fltk/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.81 2006-02-26 16:26:09 geuzaine Exp $
+# $Id: Makefile,v 1.82 2006-03-10 06:39:46 geuzaine Exp $
 #
 # Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 #
@@ -72,9 +72,9 @@ Main.o: Main.cpp GUI.h Opengl_Window.h ../Mesh/Mesh.h ../DataStr/List.h \
   ../Common/VertexArray.h ../Common/SmoothNormals.h ../Numeric/Numeric.h \
   ../Mesh/Metric.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Mesh.h \
   ../Mesh/Matrix.h Colorbar_Window.h ../Common/GmshUI.h \
-  ../Common/ColorTable.h ../Plugin/PluginManager.h ../Plugin/Plugin.h \
-  ../Common/Options.h ../Common/Message.h ../Common/Views.h \
-  ../Common/ColorTable.h ../Common/VertexArray.h \
+  ../Common/ColorTable.h Popup_Button.h ../Plugin/PluginManager.h \
+  ../Plugin/Plugin.h ../Common/Options.h ../Common/Message.h \
+  ../Common/Views.h ../Common/ColorTable.h ../Common/VertexArray.h \
   ../Common/SmoothNormals.h ../Common/GmshMatrix.h \
   ../Common/AdaptiveViews.h ../Common/GmshMatrix.h ../Common/Gmsh.h \
   ../Common/Message.h ../DataStr/Malloc.h ../DataStr/Tools.h \
@@ -93,7 +93,8 @@ Message.o: Message.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../Geo/ExtrudeParams.h ../Common/VertexArray.h \
   ../Common/SmoothNormals.h ../Numeric/Numeric.h ../Mesh/Metric.h \
   ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Mesh.h ../Mesh/Matrix.h \
-  Colorbar_Window.h ../Common/ColorTable.h GUI_Extras.h ../Common/OS.h
+  Colorbar_Window.h ../Common/ColorTable.h Popup_Button.h GUI_Extras.h \
+  ../Common/OS.h
 # 1 "/Users/geuzaine/.gmsh/Fltk//"
 GUI.o: GUI.cpp ../Plugin/PluginManager.h ../Plugin/Plugin.h \
   ../Common/Options.h ../Common/Message.h ../Common/Views.h \
@@ -110,7 +111,7 @@ GUI.o: GUI.cpp ../Plugin/PluginManager.h ../Plugin/Plugin.h \
   ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Mesh/Vertex.h \
   ../Mesh/Simplex.h ../Mesh/Mesh.h ../Mesh/Matrix.h \
   ../Geo/ExtrudeParams.h ../Graphics/Draw.h GUI.h Opengl_Window.h \
-  Colorbar_Window.h Callbacks.h Bitmaps.h Win32Icon.h \
+  Colorbar_Window.h Popup_Button.h Callbacks.h Bitmaps.h Win32Icon.h \
   ../Parser/OpenFile.h ../Common/CommandLine.h Solvers.h \
   Shortcut_Window.h
 # 1 "/Users/geuzaine/.gmsh/Fltk//"
@@ -145,9 +146,9 @@ Callbacks.o: Callbacks.cpp ../Mesh/BDS.h ../Common/Gmsh.h \
   ../Common/AdaptiveViews.h ../Common/GmshMatrix.h \
   ../Graphics/CreateFile.h ../Parser/OpenFile.h ../Common/CommandLine.h \
   ../Common/Context.h ../Common/Options.h GUI.h Opengl_Window.h \
-  Colorbar_Window.h GUI_Extras.h Callbacks.h ../Plugin/Plugin.h \
-  ../Plugin/PluginManager.h ../Plugin/Plugin.h ../Common/Visibility.h \
-  Solvers.h ../Common/OS.h
+  Colorbar_Window.h Popup_Button.h GUI_Extras.h Callbacks.h \
+  ../Plugin/Plugin.h ../Plugin/PluginManager.h ../Plugin/Plugin.h \
+  ../Common/Visibility.h Solvers.h ../Common/OS.h
 # 1 "/Users/geuzaine/.gmsh/Fltk//"
 Opengl.o: Opengl.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
@@ -162,7 +163,8 @@ Opengl.o: Opengl.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../Graphics/Draw.h ../Common/Views.h ../Common/ColorTable.h \
   ../Common/VertexArray.h ../Common/SmoothNormals.h \
   ../Common/GmshMatrix.h ../Common/AdaptiveViews.h ../Common/GmshMatrix.h \
-  GUI.h Opengl_Window.h Colorbar_Window.h ../Graphics/gl2ps.h
+  GUI.h Opengl_Window.h Colorbar_Window.h Popup_Button.h \
+  ../Graphics/gl2ps.h
 # 1 "/Users/geuzaine/.gmsh/Fltk//"
 Opengl_Window.o: Opengl_Window.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
@@ -177,7 +179,7 @@ Opengl_Window.o: Opengl_Window.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../Graphics/Draw.h ../Common/Views.h ../Common/ColorTable.h \
   ../Common/VertexArray.h ../Common/SmoothNormals.h \
   ../Common/GmshMatrix.h ../Common/AdaptiveViews.h ../Common/GmshMatrix.h \
-  GUI.h Opengl_Window.h Colorbar_Window.h
+  GUI.h Opengl_Window.h Colorbar_Window.h Popup_Button.h
 # 1 "/Users/geuzaine/.gmsh/Fltk//"
 Colorbar_Window.o: Colorbar_Window.cpp ../Common/Gmsh.h \
   ../Common/Message.h ../DataStr/Malloc.h ../DataStr/List.h \
@@ -189,7 +191,8 @@ Colorbar_Window.o: Colorbar_Window.cpp ../Common/Gmsh.h \
   ../Mesh/Simplex.h ../Geo/ExtrudeParams.h ../Common/VertexArray.h \
   ../Common/SmoothNormals.h ../Numeric/Numeric.h ../Mesh/Metric.h \
   ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Mesh.h ../Mesh/Matrix.h \
-  Colorbar_Window.h ../Common/ColorTable.h ../Common/Context.h
+  Colorbar_Window.h ../Common/ColorTable.h Popup_Button.h \
+  ../Common/Context.h
 # 1 "/Users/geuzaine/.gmsh/Fltk//"
 Solvers.o: Solvers.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
@@ -202,7 +205,7 @@ Solvers.o: Solvers.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../Common/VertexArray.h ../Common/SmoothNormals.h ../Numeric/Numeric.h \
   ../Mesh/Metric.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Mesh.h \
   ../Mesh/Matrix.h Colorbar_Window.h ../Common/ColorTable.h \
-  ../Graphics/Draw.h ../Common/Views.h ../Common/ColorTable.h \
-  ../Common/VertexArray.h ../Common/SmoothNormals.h \
-  ../Common/GmshMatrix.h ../Common/AdaptiveViews.h ../Common/GmshMatrix.h \
-  ../Common/Context.h
+  Popup_Button.h ../Graphics/Draw.h ../Common/Views.h \
+  ../Common/ColorTable.h ../Common/VertexArray.h \
+  ../Common/SmoothNormals.h ../Common/GmshMatrix.h \
+  ../Common/AdaptiveViews.h ../Common/GmshMatrix.h ../Common/Context.h
diff --git a/Fltk/Popup_Button.cpp b/Fltk/Popup_Button.cpp
new file mode 100644
index 0000000000..92e37262a0
--- /dev/null
+++ b/Fltk/Popup_Button.cpp
@@ -0,0 +1,68 @@
+// $Id: Popup_Button.cpp,v 1.2 2006-03-10 06:39:46 geuzaine Exp $
+//
+// Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+// USA.
+// 
+// Please report all bugs and problems to <gmsh@geuz.org>.
+
+#include "Gmsh.h"
+#include "GmshUI.h"
+#include "Popup_Button.h"
+
+const Fl_Menu_Item* Popup_Button::popup() {
+  const Fl_Menu_Item* m;
+  redraw();
+  m = menu()->popup(Fl::event_x(), Fl::event_y(), label(), mvalue(), this);
+  picked(m);
+  return m;
+}
+
+int Popup_Button::handle(int e) {
+  if (!menu() || !menu()->text) return 0;
+  switch (e) {
+  case FL_ENTER:
+  case FL_LEAVE:
+    return (box() && !type()) ? 1 : 0;
+  case FL_PUSH:
+    if (!box()) {
+      if (Fl::event_button() != 3) return 0;
+    } else if (type()) {
+      if (!(type() & (1 << (Fl::event_button()-1)))) return 0;
+    }
+    if (Fl::visible_focus()) Fl::focus(this);
+    popup();
+    return 1;
+  case FL_KEYBOARD:
+    if (!box()) return 0;
+    if (Fl::event_key() == ' ' &&
+        !(Fl::event_state() & (FL_SHIFT | FL_CTRL | FL_ALT | FL_META))) {
+      popup();
+      return 1;
+    } else return 0;
+  case FL_SHORTCUT:
+    if (Fl_Widget::test_shortcut()) {popup(); return 1;}
+    return test_shortcut() != 0;
+  case FL_FOCUS:
+  case FL_UNFOCUS:
+    if (box() && Fl::visible_focus()) {
+      redraw();
+      return 1;
+    }
+  default:
+    return 0;
+  }
+}
diff --git a/Fltk/Popup_Button.h b/Fltk/Popup_Button.h
new file mode 100644
index 0000000000..959c3b162c
--- /dev/null
+++ b/Fltk/Popup_Button.h
@@ -0,0 +1,39 @@
+#ifndef _POPUP_BUTTON_H
+#define _POPUP_BUTTON_H
+
+// Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+// USA.
+// 
+// Please report all bugs and problems to <gmsh@geuz.org>.
+
+#include "GmshUI.h"
+#include <FL/Fl_Menu_Button.H>
+
+// We need to define our own popup button to fix a bug in FLTK 1.1.7
+// (popup() in 1.1.7 calls redraw() after picked(), which can cause a
+// crash if the button was deleted by the callback)
+
+class Popup_Button : public Fl_Menu_Button {
+ public:
+  Popup_Button(int x, int y, int w, int h, char *label=0) 
+    : Fl_Menu_Button(x, y, w, h, label) {}
+  void draw(){ Fl_Menu_Button::draw(); }
+  int handle(int e);
+  const Fl_Menu_Item* popup();
+};
+
+#endif
diff --git a/Geo/Makefile b/Geo/Makefile
index 159a17abb0..2eeadbb998 100644
--- a/Geo/Makefile
+++ b/Geo/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.73 2006-03-08 17:02:50 remacle Exp $
+# $Id: Makefile,v 1.74 2006-03-10 06:39:46 geuzaine Exp $
 #
 # Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 #
@@ -69,6 +69,7 @@ depend:
 	rm -f Makefile.new
 
 # DO NOT DELETE THIS LINE
+# 1 "/Users/geuzaine/.gmsh/Geo//"
 CAD.o: CAD.cpp ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \
   ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
   ../DataStr/List.h ../DataStr/Tree.h ../Numeric/Numeric.h Geo.h \
@@ -81,10 +82,12 @@ CAD.o: CAD.cpp ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \
   ../Mesh/Interpolation.h ../Mesh/Vertex.h ../Mesh/Mesh.h \
   ../Mesh/Create.h ../Mesh/Vertex.h ../Mesh/Mesh.h CAD.h ExtrudeParams.h \
   ../Common/Visibility.h ../Common/Context.h
+# 1 "/Users/geuzaine/.gmsh/Geo//"
 MinMax.o: MinMax.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
   ../DataStr/avl.h ../DataStr/Tools.h ../DataStr/List.h ../DataStr/Tree.h \
   ../Numeric/Numeric.h ../Mesh/Vertex.h ../Common/Context.h
+# 1 "/Users/geuzaine/.gmsh/Geo//"
 ExtrudeParams.o: ExtrudeParams.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
   ../DataStr/avl.h ../DataStr/Tools.h ../DataStr/List.h ../DataStr/Tree.h \
@@ -95,6 +98,7 @@ ExtrudeParams.o: ExtrudeParams.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../Common/VertexArray.h ../Common/SmoothNormals.h ../Numeric/Numeric.h \
   ../Mesh/Metric.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Mesh.h \
   ../Mesh/Matrix.h ExtrudeParams.h
+# 1 "/Users/geuzaine/.gmsh/Geo//"
 Geo.o: Geo.cpp ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \
   ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
   ../DataStr/List.h ../DataStr/Tree.h ../Numeric/Numeric.h Geo.h CAD.h \
@@ -105,6 +109,7 @@ Geo.o: Geo.cpp ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \
   ../Common/SmoothNormals.h ../Mesh/Metric.h ../Mesh/Vertex.h \
   ../Mesh/Simplex.h ../Mesh/Mesh.h ../Mesh/Matrix.h ExtrudeParams.h \
   ../Parser/Parser.h ../Common/Context.h
+# 1 "/Users/geuzaine/.gmsh/Geo//"
 GeoUtils.o: GeoUtils.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
   ../DataStr/avl.h ../DataStr/Tools.h ../DataStr/List.h ../DataStr/Tree.h \
@@ -115,7 +120,21 @@ GeoUtils.o: GeoUtils.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../Common/VertexArray.h ../Common/SmoothNormals.h ../Numeric/Numeric.h \
   ../Mesh/Metric.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Mesh.h \
   ../Mesh/Matrix.h ExtrudeParams.h
-gmshModel.o: gmshModel.cpp gmshModel.h gmshDefs.h ../Mesh/Mesh.h \
+# 1 "/Users/geuzaine/.gmsh/Geo//"
+gmshModel.o: gmshModel.cpp gmshModel.h gmshDefs.h SPoint2.h \
+  ../Mesh/Mesh.h ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h \
+  ../Mesh/Vertex.h ../Mesh/Element.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
+  ../Mesh/Vertex.h ../Mesh/Element.h ../Mesh/Face.h ../Mesh/Vertex.h \
+  ../Mesh/Element.h ../Mesh/Edge.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
+  ../Geo/ExtrudeParams.h ../Common/VertexArray.h \
+  ../Common/SmoothNormals.h ../Numeric/Numeric.h ../Mesh/Metric.h \
+  ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Mesh.h ../Mesh/Matrix.h \
+  Range.h Pair.h SPoint3.h SVector3.h SBoundingBox3d.h gmshVertex.h \
+  gmshFace.h gmshEdge.h gmshRegion.h ../Parser/OpenFile.h \
+  ../DataStr/Tools.h ../DataStr/List.h ../DataStr/Tree.h \
+  ../Common/Message.h
+# 1 "/Users/geuzaine/.gmsh/Geo//"
+gmshEdge.o: gmshEdge.cpp gmshModel.h gmshDefs.h SPoint2.h ../Mesh/Mesh.h \
   ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../Mesh/Vertex.h \
   ../Mesh/Element.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Vertex.h \
   ../Mesh/Element.h ../Mesh/Face.h ../Mesh/Vertex.h ../Mesh/Element.h \
@@ -123,11 +142,11 @@ gmshModel.o: gmshModel.cpp gmshModel.h gmshDefs.h ../Mesh/Mesh.h \
   ../Geo/ExtrudeParams.h ../Common/VertexArray.h \
   ../Common/SmoothNormals.h ../Numeric/Numeric.h ../Mesh/Metric.h \
   ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Mesh.h ../Mesh/Matrix.h \
-  Range.h Pair.h SPoint2.h SPoint3.h SVector3.h SBoundingBox3d.h \
-  gmshVertex.h gmshEdge.h gmshFace.h ../Parser/OpenFile.h \
-  ../DataStr/Tools.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../Common/Message.h
-gmshEdge.o: gmshEdge.cpp gmshModel.h gmshDefs.h ../Mesh/Mesh.h \
+  Range.h Pair.h SPoint3.h SVector3.h SBoundingBox3d.h gmshVertex.h \
+  gmshFace.h gmshEdge.h gmshRegion.h ../Mesh/Interpolation.h \
+  ../Mesh/Vertex.h ../Mesh/Mesh.h CAD.h ExtrudeParams.h Geo.h
+# 1 "/Users/geuzaine/.gmsh/Geo//"
+gmshFace.o: gmshFace.cpp gmshModel.h gmshDefs.h SPoint2.h ../Mesh/Mesh.h \
   ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../Mesh/Vertex.h \
   ../Mesh/Element.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Vertex.h \
   ../Mesh/Element.h ../Mesh/Face.h ../Mesh/Vertex.h ../Mesh/Element.h \
@@ -135,11 +154,14 @@ gmshEdge.o: gmshEdge.cpp gmshModel.h gmshDefs.h ../Mesh/Mesh.h \
   ../Geo/ExtrudeParams.h ../Common/VertexArray.h \
   ../Common/SmoothNormals.h ../Numeric/Numeric.h ../Mesh/Metric.h \
   ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Mesh.h ../Mesh/Matrix.h \
-  Range.h Pair.h SPoint2.h SPoint3.h SVector3.h SBoundingBox3d.h \
-  gmshVertex.h gmshEdge.h gmshFace.h ../Mesh/Interpolation.h \
+  Range.h Pair.h SPoint3.h SVector3.h SBoundingBox3d.h gmshVertex.h \
+  gmshFace.h gmshEdge.h gmshRegion.h ../Mesh/Interpolation.h \
   ../Mesh/Vertex.h ../Mesh/Mesh.h CAD.h ExtrudeParams.h Geo.h
+# 1 "/Users/geuzaine/.gmsh/Geo//"
 SVector3.o: SVector3.cpp SVector3.h SPoint3.h
+# 1 "/Users/geuzaine/.gmsh/Geo//"
 SBoundingBox3d.o: SBoundingBox3d.cpp SBoundingBox3d.h SPoint3.h
+# 1 "/Users/geuzaine/.gmsh/Geo//"
 ExtractContour.o: ExtractContour.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
   ../DataStr/avl.h ../DataStr/Tools.h ../DataStr/List.h ../DataStr/Tree.h \
@@ -150,6 +172,7 @@ ExtractContour.o: ExtractContour.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../Common/VertexArray.h ../Common/SmoothNormals.h ../Numeric/Numeric.h \
   ../Mesh/Metric.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Mesh.h \
   ../Mesh/Matrix.h CAD.h ExtrudeParams.h
+# 1 "/Users/geuzaine/.gmsh/Geo//"
 Print_Geo.o: Print_Geo.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
   ../DataStr/avl.h ../DataStr/Tools.h ../DataStr/List.h ../DataStr/Tree.h \
diff --git a/Parser/Makefile b/Parser/Makefile
index 94bc9b89e3..54bfb31dbd 100644
--- a/Parser/Makefile
+++ b/Parser/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.81 2006-02-26 16:26:14 geuzaine Exp $
+# $Id: Makefile,v 1.82 2006-03-10 06:39:46 geuzaine Exp $
 #
 # Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 #
@@ -124,6 +124,7 @@ OpenFile.o: OpenFile.cpp ../Mesh/BDS.h ../Common/Gmsh.h \
   ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Mesh.h ../Mesh/Matrix.h \
   ../Geo/MinMax.h ../Common/Visibility.h ../Graphics/ReadImg.h \
   ../Common/OS.h ../Common/GmshUI.h ../Graphics/Draw.h ../Fltk/GUI.h \
-  ../Fltk/Opengl_Window.h ../Fltk/Colorbar_Window.h
+  ../Fltk/Opengl_Window.h ../Fltk/Colorbar_Window.h \
+  ../Fltk/Popup_Button.h
 # 1 "/Users/geuzaine/.gmsh/Parser//"
 FunctionManager.o: FunctionManager.cpp FunctionManager.h
diff --git a/Plugin/Makefile b/Plugin/Makefile
index fc1f6c83d1..e60baebf96 100644
--- a/Plugin/Makefile
+++ b/Plugin/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.91 2006-01-28 18:44:19 geuzaine Exp $
+# $Id: Makefile,v 1.92 2006-03-10 06:39:46 geuzaine Exp $
 #
 # Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 #
@@ -314,7 +314,7 @@ Annotate.o: Annotate.cpp Plugin.h ../Common/Options.h ../Common/Message.h \
   ../Mesh/Vertex.h ../Mesh/Element.h ../Mesh/Edge.h ../Mesh/Vertex.h \
   ../Mesh/Simplex.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h \
   ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Mesh.h ../Mesh/Matrix.h \
-  ../Fltk/Colorbar_Window.h ../Graphics/Draw.h
+  ../Fltk/Colorbar_Window.h ../Fltk/Popup_Button.h ../Graphics/Draw.h
 # 1 "/Users/geuzaine/.gmsh/Plugin//"
 Remove.o: Remove.cpp Plugin.h ../Common/Options.h ../Common/Message.h \
   ../Common/Views.h ../Common/ColorTable.h ../DataStr/List.h \
-- 
GitLab