int main(int argc , char *argv[])
{
	std::cout << "widget test: WaveView dialog" << std::endl;
	Gtk::Main kit (argc,argv);
	Gtk::Window window;
	Gtk::Button button("Quit");
	Gtk::HBox hbox;
	MidiEditor waveview;
	
	// bind button to quit value of kit, by providing pointer to kit.
	button.signal_clicked().connect( sigc::bind(sigc::ptr_fun ( quit ), &kit));
	
	hbox.add(waveview);
	hbox.add(button);
	
	window.add(hbox);
	window.show_all();
	kit.run(window);
	
	return 0;
	
}
Example #2
0
/**
 Ventana de seleccion de estados de celulas
 @param estados, referencias del vector de objetos EstadoCeula que contiene los
 estados de maduración.
 @param nomPanel, string que contiene el nombre del dialogo a generar.
 @return vector<int>, contiene los estados selecconados.
 */
vector<int> MenuSeleccion::seleccionClasesEstados(vector<EstadoCelula> &estados, const string &nomPanel)
{
	vector<int> clasEst;
	vector<Gtk::CheckButton*> punteroBotones;
	Gtk::VBox *vboxClasEst, vboxCE;
	Gtk::Button *aceptarCE;
	Gtk::Label *l1, *labelNom, *labelClasEst;
	Gtk::CheckButton *c1;
	Gtk::HBox *hboxCE;
	int numeroBotones;
	int numClasesEstados = estados.size();
								   
	//Inicializamos las variables de la nueva ventana
	Utiles::getWidgetGlade(Utiles::getGladeFile("seleccionaClaseEstado.glade"),"dialogoSeleccion",
				   "dialogoSeleccion", &dialogoSeleccion,
				   "vboxClasEst", &vboxClasEst,
				   "aceptarCE", &aceptarCE,
				   "labelNom", &labelNom,
				   "labelClasEst", &labelClasEst,
				   NULL);
	
	dialogoSeleccion->set_icon_from_file(Utiles::getIconoFile("calculoDatos.png"));
	
	//dialogoSeleccion->set_title("Seleccion de " + nomPanel);
	dialogoSeleccion->set_title("Selection of " + nomPanel);
	labelClasEst->set_label("<b>" + nomPanel + "</b>");
	//labelNom->set_label("<b>Nombre " + nomPanel + "</b>");
	labelNom->set_label("<b>Name " + nomPanel + "</b>");
	
	for(int i = 0; i < numClasesEstados; i++)
	{
		//Creamos las etiquetas dinamicamente
		c1 = new Gtk::CheckButton(estados[i].getEtiquetaClasificacion());
		l1 = new Gtk::Label(estados[i].getNombreClasificacion());
		hboxCE = new Gtk::HBox(true);

		hboxCE->add(*c1);
		hboxCE->add(*l1);
		
		punteroBotones.push_back(c1);
		//Añadimos el hbox al vbox
		vboxCE.add(*hboxCE);
	}
	//Añadimos una linea en blanco
	l1 = new Gtk::Label("");
	hboxCE = new Gtk::HBox(true);
	hboxCE->add(*l1);
	vboxCE.add(*hboxCE);
	
	//Añadimos la seleccion del boton todos
	//c1 = new Gtk::CheckButton("Seleccionar Todos");
	c1 = new Gtk::CheckButton("Select All");
	hboxCE = new Gtk::HBox(true);
	hboxCE->add(*c1);
	punteroBotones.push_back(c1);
	//Añadimos el hbox al vbox
	vboxCE.add(*hboxCE);
	
	vboxClasEst->add(vboxCE);
	vboxClasEst->show_all();

	numeroBotones = punteroBotones.size()-1;

	for(int i = 0; i < numeroBotones; i++)
	{
		//Añadimos las señales de cambio
		punteroBotones[i]->signal_released().
			connect(sigc::bind(sigc::mem_fun(*this, &MenuSeleccion::DesSelecUnBoton),punteroBotones));
	}
	//Añadimos las señales de cambio
	punteroBotones[numeroBotones]->signal_released().
		connect(sigc::bind(sigc::mem_fun(*this, &MenuSeleccion::DesSelecTodos),punteroBotones));
	
	//Lanzamos el dialogo
	dialogoSeleccion->run();
	
	for(int i = 0; i < numeroBotones; i++)
	{
		if(punteroBotones[i]->get_active())
		{
			for(int j = 0; j < numClasesEstados; j++)
			{
				if(estados[j].getEtiquetaClasificacion() == punteroBotones[i]->get_label())
				{
					clasEst.push_back(j);
				}
			}
		}
	}

	delete dialogoSeleccion;
	delete l1;
	delete c1;
	delete hboxCE;	

	return clasEst;
}
Example #3
0
/**
 Ventana de seleccion de estados de celulas
 @param estados, referencias del vector de objetos EstadoCeula que contiene los
 estados de maduración.
 @param nomPanel, string que contiene el nombre del dialogo a generar.
 @return vector<int>, contiene los estados/clases selecconados.
 */
vector<vector<string> > MenuSeleccion::seleccionClaEstDiametro(vector<ClaseCelula> &clas, vector<EstadoCelula> &est, const string &nomPanel)
{
	vector<Gtk::CheckButton*> punteroBotonesCl;
	vector<Gtk::CheckButton*> punteroBotonesEst;
	vector<vector<string> > clasEst;
	vector<string> clasesSelec, estadosSelec;
	Gtk::VBox *vboxClasEst, vboxCE;
	Gtk::Button *aceptarCE;
	Gtk::Label *l1, *labelNom, *labelClasEst;
	Gtk::Label labNomEst, labEtiqEst;
	Gtk::CheckButton *c1;
	Gtk::HBox *hboxCE;
	Gtk::HSeparator separador1;
	int numeroBotonesCl, numeroBotonesEst;
	int numClases = clas.size();
	int numEstados = est.size();
								   
	//Inicializamos las variables de la nueva ventana
	Utiles::getWidgetGlade(Utiles::getGladeFile("seleccionaClaseEstado.glade"),"dialogoSeleccion",
				   "dialogoSeleccion", &dialogoSeleccion,
				   "vboxClasEst", &vboxClasEst,
				   "aceptarCE", &aceptarCE,
				   "labelNom", &labelNom,
				   "labelClasEst", &labelClasEst,
				   NULL);
	
	dialogoSeleccion->set_icon_from_file(Utiles::getIconoFile("calculoDatos.png"));
	/*
	dialogoSeleccion->set_title("Seleccion de " + nomPanel);
	labelClasEst->set_label("<b>Clases</b>");
	labelNom->set_label("<b>Nombre Clases</b>");
	labEtiqEst.set_label("<b>Estados</b>");
	labNomEst.set_label("<b>Nombre Estados</b>");
	*/
	dialogoSeleccion->set_title("Selection of " + nomPanel);
	labelClasEst->set_label("<b>Classes</b>");
	labelNom->set_label("<b>Classes names</b>");
	labEtiqEst.set_label("<b>States</b>");
	labNomEst.set_label("<b>States names</b>");
	labEtiqEst.set_use_markup();
	labNomEst.set_use_markup();
	
	for(int i = 0; i < numClases; i++)
	{
		if(clas[i].getEnUso())
		{
			//Creamos las etiquetas dinamicamente
			c1 = new Gtk::CheckButton(clas[i].getEtiquetaClasificacion());
			l1 = new Gtk::Label(clas[i].getDescripcionClasificacion());
			hboxCE = new Gtk::HBox(true);

			hboxCE->add(*c1);
			hboxCE->add(*l1);
		
			punteroBotonesCl.push_back(c1);
			//Añadimos el hbox al vbox
			vboxCE.add(*hboxCE);
		}
	}
	
	//Añadimos la seleccion del boton todos
	//c1 = new Gtk::CheckButton("Seleccionar todas las clases");
	c1 = new Gtk::CheckButton("Select all the classes");
	hboxCE = new Gtk::HBox(true);
	hboxCE->add(*c1);
	punteroBotonesCl.push_back(c1);
	//Añadimos el hbox al vbox
	vboxCE.add(*hboxCE);

	//Añadimos una linea en blanco
	l1 = new Gtk::Label("");
	hboxCE = new Gtk::HBox(true);
	hboxCE->add(*l1);
	vboxCE.add(*hboxCE);

	//Añadimos el titulo de estados
	hboxCE = new Gtk::HBox(true);
	hboxCE->add(labEtiqEst);
	hboxCE->add(labNomEst);
	vboxCE.add(*hboxCE);
	vboxCE.add(separador1);

	for(int i = 0; i < numEstados; i++)
	{
		if(est[i].getEnUso())
		{
			//Creamos las etiquetas dinamicamente
			c1 = new Gtk::CheckButton(est[i].getEtiquetaClasificacion());
			l1 = new Gtk::Label(est[i].getNombreClasificacion());
			hboxCE = new Gtk::HBox(true);

			hboxCE->add(*c1);
			hboxCE->add(*l1);
		
			punteroBotonesEst.push_back(c1);
			//Añadimos el hbox al vbox
			vboxCE.add(*hboxCE);
		}
	}
	
	//Añadimos la seleccion del boton todos
	//c1 = new Gtk::CheckButton("Seleccionar todas los estados");
	c1 = new Gtk::CheckButton("Select all the states");
	hboxCE = new Gtk::HBox(true);
	hboxCE->add(*c1);
	punteroBotonesEst.push_back(c1);
	//Añadimos el hbox al vbox
	vboxCE.add(*hboxCE);

	
	vboxClasEst->add(vboxCE);
	vboxClasEst->show_all();

	numeroBotonesCl = punteroBotonesCl.size()-1;

	for(int i = 0; i < numeroBotonesCl; i++)
	{
		//Añadimos las señales de cambio
		punteroBotonesCl[i]->signal_released().
			connect(sigc::bind(sigc::mem_fun(*this, &MenuSeleccion::DesSelecUnBoton),punteroBotonesCl));
	}
	//Añadimos las señales de cambio
	punteroBotonesCl[numeroBotonesCl]->signal_released().
		connect(sigc::bind(sigc::mem_fun(*this, &MenuSeleccion::DesSelecTodos),punteroBotonesCl));

	numeroBotonesEst = punteroBotonesEst.size()-1;

	for(int i = 0; i < numeroBotonesEst; i++)
	{
		//Añadimos las señales de cambio
		punteroBotonesEst[i]->signal_released().
			connect(sigc::bind(sigc::mem_fun(*this, &MenuSeleccion::DesSelecUnBoton),punteroBotonesEst));
	}
	//Añadimos las señales de cambio
	punteroBotonesEst[numeroBotonesEst]->signal_released().
		connect(sigc::bind(sigc::mem_fun(*this, &MenuSeleccion::DesSelecTodos),punteroBotonesEst));
	
	
	//Lanzamos el dialogo
	dialogoSeleccion->run();
	
	for(int i = 0; i < numeroBotonesCl; i++)
	{
		if(punteroBotonesCl[i]->get_active())
		{
			for(int j = 0; j < numClases; j++)
			{
				if(clas[j].getEtiquetaClasificacion() == punteroBotonesCl[i]->get_label())
				{
					clasesSelec.push_back(clas[j].getEtiquetaClasificacion());
				}
			}
		}
	}

	for(int i = 0; i < numeroBotonesEst; i++)
	{
		if(punteroBotonesEst[i]->get_active())
		{
			for(int j = 0; j < numEstados; j++)
			{
				if(est[j].getEtiquetaClasificacion() == punteroBotonesEst[i]->get_label())
				{
					estadosSelec.push_back(est[j].getEtiquetaClasificacion());
				}
			}
		}
	}

	clasEst.push_back(clasesSelec);
	clasEst.push_back(estadosSelec);

	delete dialogoSeleccion;
	delete l1;
	delete c1;
	delete hboxCE;	

	return clasEst;
}