Lines Matching refs:sel

56 static void sp_gradient_selector_vector_set (SPGradientVectorSelector *gvs, SPGradient *gr, SPGradientSelector *sel);
57 static void sp_gradient_selector_edit_vector_clicked (GtkWidget *w, SPGradientSelector *sel);
58 static void sp_gradient_selector_add_vector_clicked (GtkWidget *w, SPGradientSelector *sel);
59 static void sp_gradient_selector_delete_vector_clicked (GtkWidget *w, SPGradientSelector *sel);
114 static void sp_gradient_selector_init(SPGradientSelector *sel)
116 sel->safelyInit = true;
117 sel->blocked = false;
120 gtk_orientable_set_orientation(GTK_ORIENTABLE(sel), GTK_ORIENTATION_VERTICAL);
123 new (&sel->nonsolid) std::vector<GtkWidget*>();
124 new (&sel->swatch_widgets) std::vector<GtkWidget*>();
126 sel->mode = SPGradientSelector::MODE_LINEAR;
128 sel->gradientUnits = SP_GRADIENT_UNITS_USERSPACEONUSE;
129 sel->gradientSpread = SP_GRADIENT_SPREAD_PAD;
132 sel->vectors = sp_gradient_vector_selector_new (NULL, NULL);
133 SPGradientVectorSelector *gvs = SP_GRADIENT_VECTOR_SELECTOR(sel->vectors);
134 sel->store = gvs->store;
135 sel->columns = gvs->columns;
137 sel->treeview = Gtk::manage(new Gtk::TreeView());
138 sel->treeview->set_model(gvs->store);
139 sel->treeview->set_headers_clickable (true);
140 sel->treeview->set_search_column(1);
141 sel->icon_renderer = Gtk::manage(new Gtk::CellRendererPixbuf());
142 sel->text_renderer = Gtk::manage(new Gtk::CellRendererText());
144 sel->treeview->append_column(_("Gradient"), *sel->icon_renderer);
145 Gtk::TreeView::Column* icon_column = sel->treeview->get_column(0);
146 icon_column->add_attribute(sel->icon_renderer->property_pixbuf(), sel->columns->pixbuf);
147 icon_column->set_sort_column(sel->columns->color);
150 sel->treeview->append_column(_("Name"), *sel->text_renderer);
151 Gtk::TreeView::Column* name_column = sel->treeview->get_column(1);
152 sel->text_renderer->property_editable() = true;
153 name_column->add_attribute(sel->text_renderer->property_text(), sel->columns->name);
158 sel->treeview->append_column("#", sel->columns->refcount);
159 Gtk::TreeView::Column* count_column = sel->treeview->get_column(2);
163 sel->treeview->show();
165 icon_column->signal_clicked().connect( sigc::mem_fun(*sel, &SPGradientSelector::onTreeColorColClick) );
166 name_column->signal_clicked().connect( sigc::mem_fun(*sel, &SPGradientSelector::onTreeNameColClick) );
167 count_column->signal_clicked().connect( sigc::mem_fun(*sel, &SPGradientSelector::onTreeCountColClick) );
169 gvs->tree_select_connection = sel->treeview->get_selection()->signal_changed().connect( sigc::mem_fun(*sel, &SPGradientSelector::onTreeSelection) );
170 sel->text_renderer->signal_edited().connect( sigc::mem_fun(*sel, &SPGradientSelector::onGradientRename) );
172 sel->scrolled_window = Gtk::manage(new Gtk::ScrolledWindow());
173 sel->scrolled_window->add(*sel->treeview);
174 sel->scrolled_window->set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
175 sel->scrolled_window->set_shadow_type(Gtk::SHADOW_IN);
176 sel->scrolled_window->set_size_request(0, 150);
177 sel->scrolled_window->show();
179 gtk_box_pack_start (GTK_BOX (sel), GTK_WIDGET(sel->scrolled_window->gobj()), TRUE, TRUE, 4);
189 //sel->nonsolid.push_back(hb);
190 gtk_box_pack_start( GTK_BOX(sel), hb, FALSE, FALSE, 0 );
192 sel->add = gtk_button_new();
193 gradsel_style_button(sel->add, INKSCAPE_ICON("list-add"));
195 sel->nonsolid.push_back(sel->add);
196 gtk_box_pack_start (GTK_BOX (hb), sel->add, FALSE, FALSE, 0);
198 g_signal_connect (G_OBJECT (sel->add), "clicked", G_CALLBACK (sp_gradient_selector_add_vector_clicked), sel);
199 gtk_widget_set_sensitive (sel->add, FALSE);
200 gtk_button_set_relief(GTK_BUTTON(sel->add), GTK_RELIEF_NONE);
201 gtk_widget_set_tooltip_text( sel->add, _("Create a duplicate gradient"));
204 sel->edit = gtk_button_new();
205 gradsel_style_button(sel->edit, INKSCAPE_ICON("gtk-edit"));
207 sel->nonsolid.push_back(sel->edit);
208 gtk_box_pack_start (GTK_BOX (hb), sel->edit, FALSE, FALSE, 0);
209 g_signal_connect (G_OBJECT (sel->edit), "clicked", G_CALLBACK (sp_gradient_selector_edit_vector_clicked), sel);
210 gtk_widget_set_sensitive (sel->edit, FALSE);
211 gtk_button_set_relief(GTK_BUTTON(sel->edit), GTK_RELIEF_NONE);
212 gtk_widget_set_tooltip_text( sel->edit, _("Edit gradient"));
214 sel->del = gtk_button_new ();
215 gradsel_style_button(sel->del, INKSCAPE_ICON("list-remove"));
217 sel->swatch_widgets.push_back(sel->del);
218 gtk_box_pack_start (GTK_BOX (hb), sel->del, FALSE, FALSE, 0);
219 g_signal_connect (G_OBJECT (sel->del), "clicked", G_CALLBACK (sp_gradient_selector_delete_vector_clicked), sel);
220 gtk_widget_set_sensitive (sel->del, FALSE);
221 gtk_button_set_relief(GTK_BUTTON(sel->del), GTK_RELIEF_NONE);
222 gtk_widget_set_tooltip_text( sel->del, _("Delete swatch"));
229 SPGradientSelector *sel = SP_GRADIENT_SELECTOR( object );
231 if ( sel->safelyInit ) {
232 sel->safelyInit = false;
234 sel->nonsolid.~vector<GtkWidget*>();
235 sel->swatch_widgets.~vector<GtkWidget*>();
238 if (sel->icon_renderer) {
239 delete sel->icon_renderer;
240 sel->icon_renderer = NULL;
242 if (sel->text_renderer) {
243 delete sel->text_renderer;
244 sel->text_renderer = NULL;
261 SPGradientSelector *sel = SP_GRADIENT_SELECTOR(g_object_new (SP_TYPE_GRADIENT_SELECTOR, NULL));
263 return GTK_WIDGET(sel);
373 const Glib::RefPtr<Gtk::TreeSelection> sel = treeview->get_selection();
374 if (!sel) {
380 Gtk::TreeModel::iterator iter = sel->get_selected();
483 static void sp_gradient_selector_vector_set(SPGradientVectorSelector * /*gvs*/, SPGradient *gr, SPGradientSelector *sel)
486 if (!sel->blocked) {
487 sel->blocked = TRUE;
489 sel->setVector((gr) ? gr->document : 0, gr);
490 g_signal_emit (G_OBJECT (sel), signals[CHANGED], 0, gr);
491 sel->blocked = FALSE;
497 sp_gradient_selector_delete_vector_clicked (GtkWidget */*w*/, SPGradientSelector *sel)
499 const Glib::RefPtr<Gtk::TreeSelection> selection = sel->treeview->get_selection();
509 obj = row[sel->columns->data];
519 sp_gradient_selector_edit_vector_clicked (GtkWidget */*w*/, SPGradientSelector *sel)
525 dialog = sp_gradient_vector_editor_new (SP_GRADIENT_VECTOR_SELECTOR (sel->vectors)->gr);
540 sp_gradient_selector_add_vector_clicked (GtkWidget */*w*/, SPGradientSelector *sel)
542 SPDocument *doc = sp_gradient_vector_selector_get_document (SP_GRADIENT_VECTOR_SELECTOR (sel->vectors));
547 SPGradient *gr = sp_gradient_vector_selector_get_gradient( SP_GRADIENT_VECTOR_SELECTOR (sel->vectors));
574 sp_gradient_vector_selector_set_gradient( SP_GRADIENT_VECTOR_SELECTOR (sel->vectors), doc, gr);
576 sel->selectGradientInTree(gr);