예제 #1
0
void SelectionSetToolmenu::onSelectionChanged(GtkComboBox* comboBox, 
											  SelectionSetToolmenu* self)
{
	GtkTreeIter iter;

	if (gtk_combo_box_get_active_iter(comboBox, &iter))
	{
		std::string name = gtkutil::ComboBox::getActiveText(comboBox);

		if (name.empty()) return;

		ISelectionSetPtr set = GlobalSelectionSetManager().findSelectionSet(name);

		if (set == NULL) return;

		// The user can choose to DESELECT the set nodes when holding down shift
		if ((GlobalEventManager().getModifierState() & GDK_SHIFT_MASK) != 0)
		{
			set->deselect();
		}
		else
		{
			set->select();
		}

		GtkWidget* childEntry = gtk_bin_get_child(GTK_BIN(self->_entry));
		gtk_entry_set_text(GTK_ENTRY(childEntry), "");
	}
}
void SelectionSetToolmenu::onSelectionChanged()
{
	std::string name = _entry->get_active_text();

	if (name.empty()) return;

	ISelectionSetPtr set = GlobalSelectionSetManager().findSelectionSet(name);

	if (set == NULL) return;

	// The user can choose to DESELECT the set nodes when holding down shift
	if ((GlobalEventManager().getModifierState() & GDK_SHIFT_MASK) != 0)
	{
		set->deselect();
	}
	else
	{
		set->select();
	}

	_entry->get_entry()->set_text("");
}