[Lemon-commits] [lemon_svn] ladanyi: r3018 - glemon/trunk

Lemon SVN svn at lemon.cs.elte.hu
Mon Nov 6 21:51:52 CET 2006


Author: ladanyi
Date: Wed Oct 25 19:50:02 2006
New Revision: 3018

Added:
   glemon/trunk/file_chooser_extra_widget.cc
   glemon/trunk/file_chooser_extra_widget.h
   glemon/trunk/map_window.cc
   glemon/trunk/map_window.h
Modified:
   glemon/trunk/Makefile.am
   glemon/trunk/mapstorage.h
   glemon/trunk/nbtab.cc

Log:
Added two new classes.

Modified: glemon/trunk/Makefile.am
==============================================================================
--- glemon/trunk/Makefile.am	(original)
+++ glemon/trunk/Makefile.am	Wed Oct 25 19:50:02 2006
@@ -46,7 +46,11 @@
 	design_win.h \
 	design_win.cc \
 	dijkstrabox.h \
-	dijkstrabox.cc
+	dijkstrabox.cc \
+	file_chooser_extra_widget.h \
+	file_chooser_extra_widget.cc \
+	map_window.h \
+	map_window.cc
 
 glemon_CXXFLAGS = $(GTK_CFLAGS) $(LEMON_CFLAGS)
 # glemon_LDFLAGS = $(GTK_LIBS) $(LEMON_LIBS)

Added: glemon/trunk/file_chooser_extra_widget.cc
==============================================================================
--- (empty file)
+++ glemon/trunk/file_chooser_extra_widget.cc	Wed Oct 25 19:50:02 2006
@@ -0,0 +1,46 @@
+#include "file_chooser_extra_widget.h"
+#include "mapstorage.h"
+
+FileChooserExtraWidget::FileChooserExtraWidget(MapStorage* ms) :
+  Gtk::Expander("_Options", true),
+  lblGUIData("Save GUI specific data to:"),
+  rbGUISection("_GUI section", true),
+  rbConfFile("s_eparate .conf file", true)
+{
+  std::cout << "FileChooserExtraWidget()" << std::endl;
+
+  Gtk::RadioButtonGroup group = rbGUISection.get_group();
+  rbConfFile.set_group(group);
+
+  /*
+  switch (pMapStorage->getGUIDataSaveLocation())
+  {
+    case GUI_SECTION:
+      break;
+    case CONF_FILE:
+      break;
+  }
+  */
+
+  add(box);
+  box.pack_start(lblGUIData, Gtk::PACK_SHRINK);
+  box.pack_start(rbGUISection, Gtk::PACK_SHRINK);
+  box.pack_start(rbConfFile, Gtk::PACK_SHRINK);
+
+  rbConfFile.signal_group_changed().connect(
+      sigc::mem_fun(*this, &FileChooserExtraWidget::onRbToggled));
+  rbGUISection.signal_group_changed().connect(
+      sigc::mem_fun(*this, &FileChooserExtraWidget::onRbToggled));
+
+  show_all_children();
+}
+
+void FileChooserExtraWidget::onRbToggled()
+{
+  std::cout << "onRbToggled()" << std::endl;
+}
+
+FileChooserExtraWidget::~FileChooserExtraWidget()
+{
+  std::cout << "~FileChooserExtraWidget()" << std::endl;
+}

Added: glemon/trunk/file_chooser_extra_widget.h
==============================================================================
--- (empty file)
+++ glemon/trunk/file_chooser_extra_widget.h	Wed Oct 25 19:50:02 2006
@@ -0,0 +1,25 @@
+#ifndef FILE_CHOOSER_EXTRA_WIDGET
+#define FILE_CHOOSER_EXTRA_WIDGET
+
+#include <gtkmm/expander.h>
+#include <gtkmm/box.h>
+#include <gtkmm/radiobutton.h>
+#include <gtkmm/label.h>
+
+class MapStorage;
+
+class FileChooserExtraWidget : public Gtk::Expander
+{
+  private:
+    Gtk::VBox box;
+    Gtk::Label lblGUIData;
+    Gtk::RadioButton rbGUISection;
+    Gtk::RadioButton rbConfFile;
+    MapStorage* pMapStorage;
+    void onRbToggled();
+  public:
+    FileChooserExtraWidget(MapStorage* ms);
+    ~FileChooserExtraWidget();
+};
+
+#endif

Added: glemon/trunk/map_window.cc
==============================================================================
--- (empty file)
+++ glemon/trunk/map_window.cc	Wed Oct 25 19:50:02 2006
@@ -0,0 +1,24 @@
+#include "map_window.h"
+
+MapWindow::MapWindow()
+{
+  refMapStore = Gtk::ListStore::create(mapColumns);
+  //refMapStore->signal_row_changed().connect(sigc::mem_fun(*this, &Phy sicalProperties::onChannelChanged));
+  twMap.set_model(refMapStore);
+  twMap.append_column_editable("Name", mapColumns.colName);
+  //twMap.append_column_editable("Value type", mapColumns.colValue);
+  //twMap.append_column_editable("Map type", mapColumns.colType);
+
+  swMap.set_size_request(-1, 300);
+  swMap.add(twMap);
+  swMap.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
+
+  swMap.add(twMap);
+  add(swMap);
+
+  show_all_children();
+}
+
+MapWindow::~MapWindow()
+{
+}

Added: glemon/trunk/map_window.h
==============================================================================
--- (empty file)
+++ glemon/trunk/map_window.h	Wed Oct 25 19:50:02 2006
@@ -0,0 +1,34 @@
+#ifndef MAP_WINDOW
+#define MAP_WINDOW
+
+#include <gtkmm/window.h>
+#include <gtkmm/liststore.h>
+#include <gtkmm/treeview.h>
+#include <gtkmm/scrolledwindow.h>
+#include "mapstorage.h"
+
+class MapWindow : public Gtk::Window
+{
+  struct MapModelColumns : public Gtk::TreeModel::ColumnRecord
+  {
+    MapModelColumns()
+    {
+      add(colName);
+      add(colValue);
+      add(colType);
+    }
+    Gtk::TreeModelColumn<Glib::ustring> colName;
+    Gtk::TreeModelColumn<MapStorage::value> colValue;
+    Gtk::TreeModelColumn<MapStorage::type> colType;
+  };
+  private:
+    MapModelColumns mapColumns;
+    Glib::RefPtr<Gtk::ListStore> refMapStore;
+    Gtk::TreeView twMap;
+    Gtk::ScrolledWindow swMap;
+  public:
+    MapWindow();
+    ~MapWindow();
+};
+
+#endif

Modified: glemon/trunk/mapstorage.h
==============================================================================
--- glemon/trunk/mapstorage.h	(original)
+++ glemon/trunk/mapstorage.h	Wed Oct 25 19:50:02 2006
@@ -23,6 +23,8 @@
 class MapStorage
 {
 public:
+  enum value {DOUBLE, STRING};
+  enum type {NORMAL, GUI};
 
   ///The graph for which the datas are stored.
   Graph graph;

Modified: glemon/trunk/nbtab.cc
==============================================================================
--- glemon/trunk/nbtab.cc	(original)
+++ glemon/trunk/nbtab.cc	Wed Oct 25 19:50:02 2006
@@ -1,4 +1,5 @@
 #include <nbtab.h>
+#include "file_chooser_extra_widget.h"
 
 NoteBookTab::NoteBookTab():mapwinexists(false), designwinexists(false)
 {
@@ -117,6 +118,8 @@
   Gtk::FileChooserDialog fcdialog("Save File", Gtk::FILE_CHOOSER_ACTION_SAVE);
   fcdialog.add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL);
   fcdialog.add_button(Gtk::Stock::SAVE, Gtk::RESPONSE_ACCEPT);
+  FileChooserExtraWidget w(&mapstorage);
+  fcdialog.set_extra_widget(w);
   if (fcdialog.run() == Gtk::RESPONSE_ACCEPT)
   {
     Glib::ustring filename = fcdialog.get_filename();



More information about the Lemon-commits mailing list