00001 #ifndef UMESH2DGUI_H
00002 #define UMESH2DGUI_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #include <fltk/Window.h>
00032 #include <fltk/Widget.h>
00033 #include <fltk/run.h>
00034 #include <fltk/Choice.h>
00035 #include <fltk/Color.h>
00036 #include <fltk/Input.h>
00037 #include <fltk/Group.h>
00038 #include <fltk/ValueInput.h>
00039 #include <fltk/Button.h>
00040 #include <fltk/file_chooser.h>
00041 #include <fltk/ask.h>
00042 #include <fltk/ScrollGroup.h>
00043 #include <fltk/MenuBar.h>
00044 #include <fltk/Item.h>
00045 #include <fltk/ItemGroup.h>
00046 #include <fltk/TabGroup.h>
00047 #include <fltk/Box.h>
00048
00049 #include <stdio.h>
00050
00051 #include "u2d_core.h"
00052
00053
00054 void line_cb();
00055 void circle_cb();
00056 void ellipse_cb();
00057 void data_cb();
00058 void rectangle_cb();
00059 void new_dataline_cb();
00060 void clear_cb();
00061 void add_line_cb();
00062 void add_circle_cb();
00063 void add_ellipse_cb();
00064 void add_data_cb();
00065 void add_rectangle_cb();
00066 void add_generic(Primitive *prim);
00067 void openfilebrowser();
00068 void about_cb();
00069 void glview_cb();
00070 void browserview_cb();
00071 void openitem_cb();
00072 void saveasitem_cb();
00073 void saveitem_cb();
00074 void quititem_cb();
00075 void browser_del_prim_cb();
00076 void main_core_cb();
00077 void boundary_nextbutton_cb();
00078 void domain_nextbutton_cb();
00079 void domain_prevbutton_cb();
00080 void creation_prevbutton_cb();
00081 void creation_nextbutton_cb();
00082 void umesh2d_format_cb();
00083 void umesh2d_fe_format_cb();
00084 void umesh2d_fv_format_cb();
00085 void execute_mesher();
00086 void draw_mesh();
00087 void msgout(char *format, ...);
00088 void new_steiner_cb();
00089 void new_backgrid_cb();
00090 void steiner_del_cb(fltk::Widget *button, void *);
00091 void backgrid_del_cb(fltk::Widget *button, void*);
00092 void debug_cb();
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102 class Coordinates : public fltk::Group {
00103 fltk::ValueInput xcoord;
00104 fltk::ValueInput ycoord;
00105 private:
00106
00107 public:
00108 Coordinates(int x, int y, int w, int h, const char *label);
00109 ~Coordinates();
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120 };
00121
00122
00123 Coordinates::Coordinates(int x, int y, int w, int h, const char *label) :
00124 fltk::Group(x, y, w, h, label),
00125
00126
00127 xcoord(x + w/2, y + 2, w/2 - 1, (h - 4)/2, "x:"),
00128 ycoord(x + w/2, y + h - 2 - (h - 4)/2, w/2 - 1, (h - 4)/2, "y:") {
00129
00130 this->box(fltk::BORDER_FRAME);
00131 this->align(fltk::ALIGN_INSIDE_LEFT);
00132
00133
00134
00135
00136
00137
00138
00139
00140 end();
00141 }
00142
00143 Coordinates::~Coordinates() {
00144
00145
00146 }
00147
00148
00149
00150
00151
00152 #endif