Revision: 6645
http://playerstage.svn.sourceforge.net/playerstage/?rev=6645&view=rev
Author: jeremy_asher
Date: 2008-06-18 15:55:33 -0700 (Wed, 18 Jun 2008)
Log Message:
-----------
Added options dialog skeleton
Modified Paths:
--------------
code/stage/trunk/libstage/CMakeLists.txt
code/stage/trunk/libstage/gl.cc
code/stage/trunk/libstage/stage.hh
code/stage/trunk/libstage/worldgui.cc
Added Paths:
-----------
code/stage/trunk/libstage/options_dlg.cc
code/stage/trunk/libstage/options_dlg.hh
Modified: code/stage/trunk/libstage/CMakeLists.txt
===================================================================
--- code/stage/trunk/libstage/CMakeLists.txt 2008-06-18 21:56:47 UTC (rev
6644)
+++ code/stage/trunk/libstage/CMakeLists.txt 2008-06-18 22:55:33 UTC (rev
6645)
@@ -1,32 +1,34 @@
-add_library( stage SHARED
- world.cc
- worldgui.cc
- worldfile.cc
- stage.cc
- typetable.cc
- stage.hh # get headers into IDE projects
- file_manager.hh
- file_manager.cc
- ancestor.cc
- block.cc
- canvas.cc
- camera.cc
- gl.cc
- glcolorstack.cc
- model.cc
- model_blinkenlight.cc
- model_blobfinder.cc
- model_callbacks.cc
- model_camera.cc
- model_fiducial.cc
- model_laser.cc
- model_load.cc
- model_position.cc
- model_props.cc
- model_ranger.cc
- resource.cc
- texture_manager.cc
+add_library(stage SHARED
+ world.cc
+ worldgui.cc
+ worldfile.cc
+ stage.cc
+ typetable.cc
+ stage.hh
+ file_manager.hh
+ file_manager.cc
+ ancestor.cc
+ block.cc
+ canvas.cc
+ camera.cc
+ gl.cc
+ glcolorstack.cc
+ model.cc
+ model_blinkenlight.cc
+ model_blobfinder.cc
+ model_callbacks.cc
+ model_camera.cc
+ model_fiducial.cc
+ model_laser.cc
+ model_load.cc
+ model_position.cc
+ model_props.cc
+ model_ranger.cc
+ resource.cc
+ texture_manager.cc
+ options_dlg.cc
+ options_dlg.hh
)
target_link_libraries( stage
Modified: code/stage/trunk/libstage/gl.cc
===================================================================
--- code/stage/trunk/libstage/gl.cc 2008-06-18 21:56:47 UTC (rev 6644)
+++ code/stage/trunk/libstage/gl.cc 2008-06-18 22:55:33 UTC (rev 6645)
@@ -17,10 +17,11 @@
// TODO - this could be faster, but we don't draw a lot of text
void Stg::gl_draw_string( float x, float y, float z, const char *str )
{
- const char *c;
- glRasterPos3f(x, y,z);
- for (c=str; *c != '\0'; c++)
- glutBitmapCharacter( GLUT_BITMAP_HELVETICA_12, *c);
+ //const char *c;
+ glRasterPos3f( x, y, z );
+ gl_draw(str);
+// for (c=str; *c != '\0'; c++)
+// glutBitmapCharacter( GLUT_BITMAP_HELVETICA_12, *c);
}
void Stg::gl_speech_bubble( float x, float y, float z, const char* str )
Added: code/stage/trunk/libstage/options_dlg.cc
===================================================================
--- code/stage/trunk/libstage/options_dlg.cc (rev 0)
+++ code/stage/trunk/libstage/options_dlg.cc 2008-06-18 22:55:33 UTC (rev
6645)
@@ -0,0 +1,12 @@
+#include "options_dlg.hh"
+#include <FL/Fl.H>
+
+OptionsDlg::OptionsDlg( std::vector<Option> options ) : Fl_Window( 180, 250,
"Options" ) {
+ end();
+}
+
+void OptionsDlg::display() {
+ Fl_Window::show();
+ while ( shown() )
+ Fl::wait();
+}
Added: code/stage/trunk/libstage/options_dlg.hh
===================================================================
--- code/stage/trunk/libstage/options_dlg.hh (rev 0)
+++ code/stage/trunk/libstage/options_dlg.hh 2008-06-18 22:55:33 UTC (rev
6645)
@@ -0,0 +1,29 @@
+#ifndef _OPTIONS_DLG_H_
+#define _OPTIONS_DLG_H_
+
+#include <FL/Fl_Window.H>
+
+#include <string>
+#include <vector>
+
+
+class Option {
+private:
+ std::string name;
+ bool value;
+public:
+ Option( std::string n, bool v ) : name(n), value(v) { }
+ inline const bool get() const { return value; }
+ inline void set( bool val ) { value = val; }
+};
+
+
+class OptionsDlg : private Fl_Window {
+private:
+public:
+ OptionsDlg( std::vector<Option> options );
+
+ void display();
+};
+
+#endif
\ No newline at end of file
Modified: code/stage/trunk/libstage/stage.hh
===================================================================
--- code/stage/trunk/libstage/stage.hh 2008-06-18 21:56:47 UTC (rev 6644)
+++ code/stage/trunk/libstage/stage.hh 2008-06-18 22:55:33 UTC (rev 6645)
@@ -67,7 +67,7 @@
#include <FL/Fl_Window.H>
#include <FL/fl_draw.H>
#include <FL/gl.h> // FLTK takes care of platform-specific GL stuff
-#include <FL/glut.H>
+//#include <FL/glut.H>
#ifdef __APPLE__
#include <OpenGL/glu.h>
@@ -2037,6 +2037,7 @@
static void HelpAboutCallback( Fl_Widget* wid );
static void view_toggle_cb( Fl_Menu_Bar* menubar, StgCanvas* canvas );
static void WindowCallback( Fl_Widget* wid, StgWorldGui* world );
+ static void optionsDlgCb( Fl_Widget*, StgCanvas* canvas );
bool SaveAsDialog();
bool CloseWindowQuery();
Modified: code/stage/trunk/libstage/worldgui.cc
===================================================================
--- code/stage/trunk/libstage/worldgui.cc 2008-06-18 21:56:47 UTC (rev
6644)
+++ code/stage/trunk/libstage/worldgui.cc 2008-06-18 22:55:33 UTC (rev
6645)
@@ -106,6 +106,7 @@
#include <FL/Fl_File_Chooser.H>
#include "file_manager.hh"
+#include "options_dlg.hh"
static const char* MITEM_VIEW_DATA = "&View/&Data";
static const char* MITEM_VIEW_BLOCKS = "&View/&Blocks";
@@ -129,8 +130,7 @@
- StgWorldGui::StgWorldGui(int W,int H,const char* L)
-: Fl_Window(0,0,W,H,L)
+StgWorldGui::StgWorldGui(int W,int H,const char* L) : Fl_Window(0,0,W,H,L)
{
//size_range( 100,100 ); // set minimum window size
@@ -186,6 +186,8 @@
FL_MENU_TOGGLE| (canvas->showflags & STG_SHOW_ARROWS ?
FL_MENU_VALUE : 0 ));
mbar->add( MITEM_VIEW_BLOCKSRISING, FL_CTRL+'t',
(Fl_Callback*)view_toggle_cb, (void*)canvas,
FL_MENU_TOGGLE| (canvas->showflags & STG_SHOW_TRAILRISE
? FL_MENU_VALUE : 0 ));
+
+ mbar->add( "View/&Options", FL_CTRL + 'o', (Fl_Callback *)optionsDlgCb,
canvas );
mbar->add( "&Help", 0, 0, 0, FL_SUBMENU );
mbar->add( "Help/&About Stage...", 0, (Fl_Callback *)About_cb, this );
@@ -504,6 +506,12 @@
//printf( "value: %d\n", item->value() );
}
+void StgWorldGui::optionsDlgCb( Fl_Widget*, StgCanvas* canvas ) {
+ std::vector<Option> options;
+ OptionsDlg od( options );
+ od.display();
+}
+
void StgWorldGui::About_cb( Fl_Widget*, StgWorldGui* world )
{
fl_register_images();
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Playerstage-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-commit