void
ChipCapacitiesDialog::set_current_capacity(const Scanner::State& state)
{
	Gtk::RadioButton* button = buttons_map_[state.capacity()];
	if (button)
		button->set_active(true);
}
예제 #2
0
	void set_axis(Axis a)
	{
		if(a==AXIS_X)
			radiobutton_axis_x.set_active(true);
		else
			radiobutton_axis_y.set_active(true);

		duck_dragger_->axis=get_axis();
	}
Gtk::RadioButton * dv_selector_widget::create_radio_button(
    Gtk::RadioButtonGroup & group,
    const Glib::RefPtr<Gdk::Pixbuf> & pixbuf)
{
    Gtk::Image * image = manage(new Gtk::Image(pixbuf));
    image->show();

    Gtk::RadioButton * button = manage(new Gtk::RadioButton(group));
    button->set_image(*image);
    button->set_mode(/*draw_indicator=*/false);

    return button;
}
예제 #4
0
파일: main.cpp 프로젝트: gDanix/hello-world
void *procesar_boton(void *nada){			// Hilo que se ejecutará cuando se pulse el botón OK Go!. Simula un inicio de sesión que una vez fallará y otra vez no
	Gtk::Label *etiq;			// Estos son los objetos que queremos manejar. En la ventana hay más, pero no les hacemos nada, asique no necesitamos declarar punteros a ellos. Esta es la etiqueta que muestra el Cargando...
	Gtk::Spinner *spin;			// Esto es un dibujito que gira mientras carga
	Gtk::Image *image;			// Esta es la imagen que aparece cuando se inicia sesión (tanto si falla(muestra una X de error) como si no(muestra un tick verde)
	Gtk::RadioButton *radio;		// Este es un botón de los de la izquierda, donde seleccionas si inicias sesion, creas usuario o borras usuario
	Gtk::Entry *entrada;			// Esta es la cajeta de entrada de texto como por ejemplo, donde pones el nombre de usuario y la contraseña

	builder->get_widget("label3", etiq);	// Como el builder crea la ventana, él nos dará las referencias a los objetos definidos arriba
	builder->get_widget("spinner1", spin);
	builder->get_widget("image1", image);
	image->set_visible(false);		// Hacemos que las imagenes no se vean. Mientras está cargando no se muestran. Esta es la imagen de cuando se inicia sesión correctamente
	builder->get_widget("image2", image);	// Reusamos el puntero para referenciar a la otra imagen. Esta se muestra cuando el inicio sesion falla
	image->set_visible(false);
	builder->get_widget("radiobutton1",radio);// Como esto se ejecuta cuando se pulsa el botón OK Go!, se supone que estamos procesando el inicio de sesión. Es habitual bloquearlo todo para que no se pueda cambiar de opción mientras se inicia sesion (En realidad es por estética, porque al programa se la trae floja lo que hagas) :)
	radio->set_sensitive(false);
	builder->get_widget("radiobutton2",radio);
	radio->set_sensitive(false);
	builder->get_widget("radiobutton3",radio);
	radio->set_sensitive(false);
	builder->get_widget("entry1", entrada);
	entrada->set_sensitive(false);
	builder->get_widget("entry2", entrada);
	entrada->set_sensitive(false);

	spin->set_visible(true);		// Como estamos cargando, mostramos el iconito este girando. (Este es el mismo que se muestra cuando buscas archivos en ubuntu)
	etiq->set_label("Conectando...");	// Hacemos que la etiqueta muestre Conectando...

	sleep(1);				// Simulamos que la conexion se establece

	etiq->set_label("Obteniendo datos del servidor");	// Se supone que estamos conectados y ahora intercambiamos datos con el servidor

	sleep(2);				// Simulamos el intercambio de datos
	
	spin->set_visible(false);		// Ya se ha procesado el inicio de sesion y ya no debemos ver el iconico girando, porque eso es sólo cuando carga

	if(i%2){					// Si es impar, el inicio de sesion es correcto
		builder->get_widget("image1", image);	// Obtenemos la imagen1, la del tick verde
		etiq->set_label("Login correcto");	// Cambiamos el texto de la etiqueta (una etiqueta sólo hace eso: mostrar texto)
	} else {
		etiq->set_label("Login incorrecto");	// Si es par, el inicio de sesion es incorrecto. No tenemos que obtener la imagen porque el puntero ya apunta a la imagen correcta
	}

	image->set_visible(true);	// Sea cual sea la imagen escogida, se muestra

	builder->get_widget("radiobutton1",radio);	// Y se desbloquea todo esperando a que el usuario cambie algo y vuelva a pulsar otro botón
	radio->set_sensitive(true);
	builder->get_widget("radiobutton2",radio);
	radio->set_sensitive(true);
	builder->get_widget("radiobutton3",radio);
	radio->set_sensitive(true);
	builder->get_widget("entry1", entrada);
	entrada->set_sensitive(true);
	builder->get_widget("entry2", entrada);
	entrada->set_sensitive(true);

	i++;	// Esto alterna entre simular un inicio de sesion correcto (i impar) y uno incorrecto (i par)
}
void
ChipCapacitiesDialog::connect_signals()
{
	std::vector<double> capacities = Scanner::BuiltinCapacities::capacities();

	for ( std::vector<double>::const_iterator iter = capacities.begin();
		iter != capacities.end(); ++iter) {

		Gtk::RadioButton* button;
		Glib::ustring name = Glib::ustring::compose( "radiobutton%1",
			Glib::ustring::format(iter - capacities.begin()));

		builder_->get_widget( name, button);

		insert_into_buttons_map( *iter, button);

		button->signal_toggled().connect( sigc::bind(sigc::mem_fun( *this,
			&ChipCapacitiesDialog::on_capacity_changed), *iter));
	}
}
void AsistenteJerarquia::inicializarAsistente() {
	if (this->vjerarquia->getEntidadPadre() != NULL){
		Gtk::Entry *entryNombre = 0;
		Gtk::RadioButton* radio =NULL;
		if (this->vjerarquia->getJerarquia()->getCobertura() == TIPO_COBERTURA_PARCIAL){
			this->m_builder->get_widget("radioParcial", radio);
			radio->set_active(true);
		}else{
			this->m_builder->get_widget("radioTotal", radio);
			radio->set_active(true);
		}
		if (this->vjerarquia->getJerarquia()->getInterseccion() == TIPO_INTERSECCION_EXCLUSIVA){
			this->m_builder->get_widget("radioExclusiva", radio);
			radio->set_active(true);
		}else{
			this->m_builder->get_widget("radioSuperpuesta", radio);
			radio->set_active(true);
		}

		this->m_builder->get_widget("entryNombre", entryNombre);
		entryNombre->set_text(this->vjerarquia->getNombre());
		this->inicializarListaEntidades();
	}
}
예제 #7
0
	Axis get_axis()const { return radiobutton_axis_x.get_active()?AXIS_X:AXIS_Y; }
예제 #8
0
Example_ScrolledViewport::Example_ScrolledViewport()
{
    Gtk::HBox* hbox;
    Gtk::VBox* vbox;

    set_title("ScrolledViewport Example");

    Papyrus::Gtk::Viewport& viewport = m_ScrolledViewport.viewport();

    m_Zoomer = Papyrus::Zoomer::create( );
    viewport.add_controller( m_Zoomer );

    viewport.set_size_request( 300, 200 );

    // Create some shapes to add to the group
    Papyrus::Group::pointer g = Papyrus::example_group( );

    viewport.canvas()->add( g );
    m_Zoomer->add( g );

    vbox = Gtk::manage( new Gtk::VBox() );
    vbox->pack_start( m_ScrolledViewport );
    vbox->pack_start( *Gtk::manage( new Gtk::HSeparator() ) );

    Gtk::RadioButton* rb;
    Gtk::VBox* vbox2;
    Gtk::Frame* frame;
    Gtk::Label* label;

    label = Gtk::manage( new Gtk::Label("Use the mouse wheel to zoom in and out.\n\nThe scrollbars are set to automatic in this example so you will need to zoom in before they show up.") );
    label->set_use_markup();
    label->set_line_wrap();
    vbox->pack_start(*label, Gtk::PACK_SHRINK, 10);
    vbox->pack_start( *Gtk::manage( new Gtk::HSeparator() ) );

    vbox2 = Gtk::manage( new Gtk::VBox() );
    frame = Gtk::manage( new Gtk::Frame("Viewport Scroll Placement") );
    frame->add(*vbox2);
    vbox->pack_start(*frame, Gtk::PACK_SHRINK, 10);
    label = Gtk::manage( new Gtk::Label("<i>Placement refers to the corner where the viewport will be placed</i>") );
    label->set_use_markup();
    label->set_line_wrap();
    vbox2->pack_start(*label, Gtk::PACK_SHRINK);
    Gtk::RadioButtonGroup scroll_placement_group;
    rb = Gtk::manage( new Gtk::RadioButton( scroll_placement_group, "Top Left" ) );
    rb->signal_toggled().connect( sigc::bind(sigc::mem_fun(*this, &Example_ScrolledViewport::on_scroll_placement_changed), Gtk::CORNER_TOP_LEFT) );
    vbox2->pack_start( *rb );
    rb = Gtk::manage( new Gtk::RadioButton( scroll_placement_group, "Bottom Left" ) );
    rb->signal_toggled().connect( sigc::bind(sigc::mem_fun(*this, &Example_ScrolledViewport::on_scroll_placement_changed), Gtk::CORNER_BOTTOM_LEFT) );
    vbox2->pack_start( *rb );
    rb = Gtk::manage( new Gtk::RadioButton( scroll_placement_group, "Top Right" ) );
    rb->signal_toggled().connect( sigc::bind(sigc::mem_fun(*this, &Example_ScrolledViewport::on_scroll_placement_changed), Gtk::CORNER_TOP_RIGHT) );
    vbox2->pack_start( *rb );
    rb = Gtk::manage( new Gtk::RadioButton( scroll_placement_group, "Bottom Right" ) );
    rb->signal_toggled().connect( sigc::bind(sigc::mem_fun(*this, &Example_ScrolledViewport::on_scroll_placement_changed), Gtk::CORNER_BOTTOM_RIGHT) );
    vbox2->pack_start( *rb );

    this->add( *vbox );

    show_all();
}
void AsistenteJerarquia::on_botonAceptar_click() {
	VistaEntidadNueva* entidadPadre = NULL;
	VistaEntidadNueva* entidad = NULL;
	VistaEntidad * vep = NULL;
	Gtk::RadioButton* radio = NULL;
	bool musthide = false;
	int countSelected=0;
	Gtk::Entry *entryNombre = 0;
	this->m_builder->get_widget("entryNombre", entryNombre);
	string nom =entryNombre->get_text();
	if ( nom != "") {
		this->vjerarquia->setNombre(nom);
		Gtk::TreeModel::iterator iter = this->comboBox.get_active();
		if (iter) {
			//Si esta nodificando y ya tenia un padre
			vep = this->vjerarquia->getEntidadPadre();
			if (vep != NULL){
				vep->getEntidad()->quitarJerarquiaHija();
			}
			Gtk::TreeModel::Row row = *iter;
			entidadPadre = row[this->m_ColumnasCombo.m_col_vEnt_Pointer];
			this->vjerarquia->setEntidadPadre(entidadPadre);
			entidadPadre->getEntidad()->setJerarquiaHija(this->vjerarquia->getJerarquia());

			//cobertura, interseccion
			this->m_builder->get_widget("radioParcial", radio);
			if (radio->get_active() == true){
				this->vjerarquia->getJerarquia()->setCobertura(TIPO_COBERTURA_PARCIAL);
			}else{
				this->vjerarquia->getJerarquia()->setCobertura(TIPO_COBERTURA_TOTAL);
			}
			this->m_builder->get_widget("radioExclusiva", radio);
			if (radio->get_active() == true){
				this->vjerarquia->getJerarquia()->setInterseccion(TIPO_INTERSECCION_EXCLUSIVA);
			}else{
				this->vjerarquia->getJerarquia()->setInterseccion(TIPO_INTERSECCION_SUPERPUESTA);
			}

			//Ahora seteo las entidades hijas
			typedef Gtk::TreeModel::Children type_children;
			type_children children = this->refTreeModel->children();
			type_children::iterator iter = children.begin();
			type_children::iterator iter1 = children.end();
			while (iter != iter1) {
				Gtk::TreeModel::Row row = *iter;
				// si esta seleccionada la agrego o actualizo
				if (row[this->m_Columnas.m_col_selected] == true) {
					countSelected++;
					if (this->vjerarquia->unidaConEntidad(row[this->m_Columnas.m_col_vEnt_Pointer]) == false){
						entidad = row[this->m_Columnas.m_col_vEnt_Pointer];
						this->vjerarquia->agregarEntidadEspecializada(entidad);
						this->vjerarquia->getJerarquia()->agregarEntidadEspecializada(entidad->getEntidadNueva());
						entidad->getEntidadNueva()->agregarJerarquiaPadre(this->vjerarquia->getJerarquia());
					}
				}else{
					if (this->vjerarquia->unidaConEntidad(row[this->m_Columnas.m_col_vEnt_Pointer]) == true){
						this->vjerarquia->removerEntidadEspecializada(row[this->m_Columnas.m_col_vEnt_Pointer]);
					}
				}
				iter++;
			}
			if (countSelected>0){
				musthide = true;
			}else{
				Gtk::MessageDialog err_dialog1(*this, "Select at least one children", false,
										Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true);
				err_dialog1.run();
			}
		}else{
			Gtk::MessageDialog err_dialog2(*this, "Select the father", false,
													Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true);
							err_dialog2.run();
		}
	} else {
		Gtk::MessageDialog err_dialog(*this, "No name", false,
						Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true);
		err_dialog.run();
	}
	if (musthide==true){
		this->vjerarquia->resetearLanzarProp();
		this->hide();
	}
	Ide::getInstance()->getDiagActual()->queue_draw();
	Ide::getInstance()->regenerarTreePanel();
}
예제 #10
0
void setRadioButton(string cb, bool b) {
    Gtk::RadioButton* cbut;
    VRGuiBuilder()->get_widget(cb, cbut);
    cbut->set_active(b);
}
예제 #11
0
bool getRadioButtonState(string b) {
    Gtk::RadioButton* tbut;
    VRGuiBuilder()->get_widget(b, tbut);
    return tbut->get_active();
}
예제 #12
0
void setRadioButtonCallback(string cb, sigc::slot<void> sig ) {
    Gtk::RadioButton* rbut;
    VRGuiBuilder()->get_widget(cb, rbut);
    rbut->signal_toggled().connect(sig);
}
예제 #13
0
Example_markers::Example_markers()
{
  Gtk::VBox *vbox, *vbox2;
  Gtk::HBox *hbox;
  Gtk::RadioButton *rbutton;
  
  set_title("Line Markers Example");
  set_border_width(10);

  m_Viewport.canvas()->set_size( 500, 400 );

  vbox = Gtk::manage(new Gtk::VBox());
  vbox->pack_start( m_Viewport );
  m_line = Papyrus::Polyline::create();
  m_line->add_vertex(-100, 0);
  m_line->add_vertex(100, 0);
  m_line->set_stroke( Cairo::SolidPattern::create_rgb(0.0, 0.0, 1.0) );
  m_line->stroke()->set_width(3);

  m_line->set_marker(Papyrus::START_MARKER, Papyrus::Marker::create());
  m_line->marker(Papyrus::START_MARKER)->set_facing(Papyrus::Marker::LEFT);
  m_line->marker(Papyrus::START_MARKER)->stroke()->set_width(3);
  
  m_line->set_marker(Papyrus::END_MARKER, Papyrus::Marker::create());
  m_line->marker(Papyrus::END_MARKER)->set_facing(Papyrus::Marker::RIGHT);
  m_line->marker(Papyrus::END_MARKER)->stroke()->set_width(3);
  
  m_Viewport.canvas()->add( m_line );

  vbox->pack_start( *Gtk::manage( new Gtk::HSeparator() ) );

  hbox = Gtk::manage(new Gtk::HBox());
  vbox->pack_start( *hbox );

  vbox2 = Gtk::manage(new Gtk::VBox());
  vbox2->pack_start( *Gtk::manage(new Gtk::Label("Start Marker")) );
  vbox2->pack_start( m_start_combobox );
  Gtk::RadioButtonGroup start_facing_group;
  rbutton = Gtk::manage(new Gtk::RadioButton(start_facing_group, "Left"));
  rbutton->set_active();
  rbutton->signal_toggled().connect(sigc::bind(sigc::mem_fun(*this, &Example_markers::on_marker_facing_changed), Papyrus::START_MARKER, Papyrus::Marker::LEFT));
  vbox2->pack_start(*rbutton);
  rbutton = Gtk::manage(new Gtk::RadioButton(start_facing_group, "Right"));
  rbutton->signal_toggled().connect(sigc::bind(sigc::mem_fun(*this, &Example_markers::on_marker_facing_changed), Papyrus::START_MARKER, Papyrus::Marker::RIGHT));
  vbox2->pack_start(*rbutton);
  hbox->pack_start(*vbox2);

  vbox2 = Gtk::manage(new Gtk::VBox());
  vbox2->pack_start( *Gtk::manage(new Gtk::Label("End Marker")) );
  vbox2->pack_start( m_end_combobox );
  Gtk::RadioButtonGroup end_facing_group;
  rbutton = Gtk::manage(new Gtk::RadioButton(end_facing_group, "Left"));
  rbutton->signal_toggled().connect(sigc::bind(sigc::mem_fun(*this, &Example_markers::on_marker_facing_changed), Papyrus::END_MARKER, Papyrus::Marker::LEFT));
  vbox2->pack_start(*rbutton);
  rbutton = Gtk::manage(new Gtk::RadioButton(end_facing_group, "Right"));
  rbutton->set_active();
  rbutton->signal_toggled().connect(sigc::bind(sigc::mem_fun(*this, &Example_markers::on_marker_facing_changed), Papyrus::END_MARKER, Papyrus::Marker::RIGHT));
  vbox2->pack_start(*rbutton);
  hbox->pack_start(*vbox2);

  for (unsigned i=Papyrus::Marker::FIRST_STYLE; i < Papyrus::Marker::LAST_STYLE; i++)
  {
    m_start_combobox.append_text( Papyrus::Marker::style_strings[i] );
    m_end_combobox.append_text( Papyrus::Marker::style_strings[i] );
  }

  m_start_combobox.signal_changed().connect( sigc::bind(sigc::mem_fun(*this, &Example_markers::on_marker_style_changed), Papyrus::START_MARKER));

  m_start_combobox.set_active(Papyrus::Marker::NONE);

  m_end_combobox.signal_changed().connect( sigc::bind(sigc::mem_fun(*this, &Example_markers::on_marker_style_changed), Papyrus::END_MARKER));

  m_end_combobox.set_active(Papyrus::Marker::NONE);

  this->add( *vbox );

  show_all();
}