#ifndef _CONSTRUCTOR_H_
#define _CONSTRUCTOR_H_
+#include <iostream>
#include <libglademm.h>
#include <gtkmm.h>
#include <gtkmm/window.h>
#include <gtkmm/button.h>
#include <gtkmm/fixed.h>
#include <gtkmm/scrolledwindow.h>
+#include <gtkmm/checkbutton.h>
+#include <gtkmm/fileselection.h>
+#include <gtkmm/entry.h>
#include "workplace.h"
#include "item.h"
#include "splitter.h"
#include "conduct.h"
#include "union.h"
#include "cistern.h"
+#include "exclusa.h"
+#include "pump.h"
class Constructor : public Gtk::Window {
public:
Constructor(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& refGlade);
virtual ~Constructor();
+ private:
+ FILE *archivo;
protected:
+ int id;
// / defino los elementos de la ventana.
- Gtk::Button *btn_canio, *btn_codo, *btn_y, *btn_tanque;
- WorkPlace *workplace;
- Glib::RefPtr<Gdk::Pixbuf> ico_canio, ico_y, ico_codo, ico_tanque;
- std::list<Gtk::TargetEntry> listTargets;
+ Gtk::Button *btn_canio, *btn_codo, *btn_y, *btn_tanque, *btn_bomba, *btn_exclusa, *btn_file_ok, *btn_file_cancel, *btn_check, *btn_dlg_close;
+ Gtk::ImageMenuItem *main_menu_quit, *edit_menu_del, *main_menu_save;
+ Gtk::CheckButton *chk_btn_logica;
+ Gtk::FileSelection *file_selection;
+ Gtk::Entry *combo_entry;
+ Gtk::Dialog *dlg_connect;
+ Gtk::Label *dlg_label;
+ Glib::RefPtr<Gdk::Pixbuf> ico_canio, ico_y, ico_codo, ico_tanque, ico_bomba, ico_exclusa;
Glib::RefPtr<Gdk::Pixbuf> ico_last;
+ std::list<Gtk::TargetEntry> listTargets;
std::list<CItem *> listaItems;
-
+ WorkPlace *workplace;
+ bool logica;
+ bool can_drop(CItem *, int , int);
// /señales de control para los elementos de la ventana.
virtual void on_btn_canio_drag_get(const Glib::RefPtr<Gdk::DragContext>& context, GtkSelectionData* selection_data, guint info, guint time);
virtual void on_btn_y_drag_get(const Glib::RefPtr<Gdk::DragContext>& context, GtkSelectionData* selection_data, guint info, guint time);
virtual void on_btn_codo_drag_get(const Glib::RefPtr<Gdk::DragContext>& context, GtkSelectionData* selection_data, guint info, guint time);
virtual void on_btn_tanque_drag_get(const Glib::RefPtr<Gdk::DragContext>& context, GtkSelectionData* selection_data, guint info, guint time);
-
+ virtual void on_btn_bomba_drag_get(const Glib::RefPtr<Gdk::DragContext>& context, GtkSelectionData* selection_data, guint info, guint time);
+ virtual void on_btn_exclusa_drag_get(const Glib::RefPtr<Gdk::DragContext>& context, GtkSelectionData* selection_data, guint info, guint time);
+ virtual void on_main_menu_quit();
+ virtual void on_main_menu_save();
+ virtual void on_edit_menu_del();
+ virtual void on_chk_btn_clicked();
+ virtual void on_btn_file_ok_clicked();
+ virtual void on_btn_file_cancel_clicked();
+ virtual void on_btn_check_clicked();
+ virtual void on_btn_dlg_connect_clicked();
+
// señales para cambiar el icono.
virtual void on_canio_drag_begin(const Glib::RefPtr<Gdk::DragContext>& context);
virtual void on_y_drag_begin(const Glib::RefPtr<Gdk::DragContext>& context);
virtual void on_codo_drag_begin(const Glib::RefPtr<Gdk::DragContext>& context);
virtual void on_tanque_drag_begin(const Glib::RefPtr<Gdk::DragContext>& context);
+ virtual void on_bomba_drag_begin(const Glib::RefPtr<Gdk::DragContext>& context);
+ virtual void on_exclusa_drag_begin(const Glib::RefPtr<Gdk::DragContext>& context);
virtual void on_item_drag_begin(const Glib::RefPtr<Gdk::DragContext>& context, CItem *);
virtual void on_item_drag_data_get(const Glib::RefPtr<Gdk::DragContext>& context, GtkSelectionData* selection_data, guint info, guint time);