]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/gnome/GnomeBase.C
gtkmm-2 upgrade. Still some small bugs to iron out, but mostly functional
[lyx.git] / src / frontends / gnome / GnomeBase.C
index 72e80aa3859db456b42d1213ba2c034a0c362219..a220f82594e0a68ffe23e6af766f79992cff5418 100644 (file)
@@ -1,6 +1,6 @@
 /* This file is part of
  * =================================================
- * 
+ *
  *          LyX, The Document Processor
  *          Copyright 1995 Matthias Ettrich.
  *          Copyright 1995-2000 The LyX Team.
 #include "debug.h"
 #include "support/filetools.h"
 #include <glib.h>
+#include <gtkmm/dialog.h>
 
-#include <gnome--/dialog.h>
-
-GnomeBase::GnomeBase(ControlButtons & c, 
+GnomeBase::GnomeBase(ControlButtons & c,
                 string const & name)
        : ViewBC<gnomeBC>(c)
        , file_(name + ".glade"), widget_name_(name), xml_(0)
        , dialog_(0)
-{}
-       
-GnomeBase::~GnomeBase()
 {
-       if (xml_)
-               gtk_object_unref(GTK_OBJECT(xml_));
+       loadXML();
 }
 
-       
-void GnomeBase::loadXML() const
+GnomeBase::~GnomeBase()
+{}
+
+
+void GnomeBase::loadXML() 
 {
 #ifdef WITH_WARNINGS
 #warning Change this before declaring it production code! (be 20010325)
 #endif
-       string const path("src/frontends/gnome/dialogs/;frontends/gnome/dialogs/;/home/baruch/prog/lyx/graphics/src/frontends/gnome/dialogs/");
+       string const path("src/frontends/gnome/dialogs/;frontends/gnome/dialogs/;");
        string const file = FileOpenSearch(path, file_, "glade");
 
        if (file.empty()) {
                lyxerr << "Cannot find glade file. Aborting." << std::endl;
                lyx::Assert(true);
        }
-       
+
        lyxerr[Debug::GUI] << "Glade file to open is " << file << '\n';
-       
-       xml_ = glade_xml_new(file.c_str(), widget_name_.c_str());
+
+       xml_ = Gnome::Glade::Xml::create (file, widget_name_);
 }
 
 
 void GnomeBase::show()
 {
-       if (!dialog_) {
-               dialog_ = dialog();
-               build();
-       }
-
        update();
-       dialog_->show();
+       dialog()->show();
 }
 
 
 void GnomeBase::hide()
 {
-       if (dialog_)
-               dialog_->hide();
+       dialog()->hide();
 }
 
 bool GnomeBase::validate()
@@ -76,35 +68,39 @@ bool GnomeBase::validate()
        return true;
 }
 
-void GnomeBase::OKClicked() 
-{ 
-       OKButton(); 
+void GnomeBase::OKClicked()
+{
+       lyxerr[Debug::GUI] << "GnomeBase::OKClicked()\n";
+       OKButton();
 }
 
 void GnomeBase::CancelClicked() 
 { 
+       lyxerr[Debug::GUI] << "GnomeBase::CancelClicked()\n";
        CancelButton(); 
 }
 
 void GnomeBase::ApplyClicked() 
 { 
+       lyxerr[Debug::GUI] << "GnomeBase::ApplyClicked()\n";
        ApplyButton(); 
 }
 
 void GnomeBase::RestoreClicked() 
 { 
+       lyxerr[Debug::GUI] << "GnomeBase::RestoreClicked()\n";
        RestoreButton(); 
 }
 
-void GnomeBase::InputChanged() 
-{ 
-       bc().valid(validate()); 
+void GnomeBase::InputChanged()
+{
+       bc().valid(validate());
 }
 
-Gnome::Dialog * GnomeBase::dialog()
+Gtk::Dialog * GnomeBase::dialog()
 {
-       if (!dialog_) 
-               dialog_ = getWidget<Gnome::Dialog>(widget_name_.c_str());
-               
+       if (!dialog_)
+               dialog_ = getWidget<Gtk::Dialog>(widget_name_);
+
        return dialog_;
 }