LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Programming (https://www.linuxquestions.org/questions/programming-9/)
-   -   [ruby][gtk2] Style Property - How to change? (https://www.linuxquestions.org/questions/programming-9/%5Bruby%5D%5Bgtk2%5D-style-property-how-to-change-812345/)

robuxbiz 06-05-2010 01:16 PM

[ruby][gtk2] Style Property - How to change?
 
Posted by Robux Biz (robux) on 05.06.2010 19:39
Hi everybody!

I can see style property:

btn = Gtk::Button.new
puts btn.style_get_property('image-spacing') # "2"

But how can I change the value to "0"?

robuxbiz 06-05-2010 02:02 PM

I did that:
Code:

  class ClsBtn < Gtk::Button
    type_register
        install_style_property(GLib::Param::Int.new('image-spacing',
        'image-spacing', '', 0, 10000, 0,
        GLib::Param::READABLE|GLib::Param::WRITABLE))
  end
  closebtn = ClsBtn.new
  image = Gtk::Image.new(Gtk::Stock::CLOSE, Gtk::IconSize::MENU)
  closebtn.add(image)
  p closebtn.style_get_property('image-spacing')

Property becames "0",
but border around image is still big (not equals 0)
How can I to decrease the button? (The button is needed for Notebook tabs)

robuxbiz 06-06-2010 02:55 AM

I did that:

Code:

  style = closebtn.modifier_style
  style.xthickness = 0
  style.ythickness = 0
  closebtn.modify_style(style)

But fields are still exist. Any else ideas?

robuxbiz 06-06-2010 04:46 AM

I find solution in Geany source code:

Code:

    label_box = Gtk::HBox.new(false, 0)
    label = Gtk::Label.new('Page1')
    label_box.pack_start(label, false, false, 0)
 
    btn = Gtk::Button.new
    btn.relief = Gtk::RELIEF_NONE
    btn.focus_on_click = false
    style = btn.modifier_style
    style.xthickness = 0
    style.ythickness = 0
    btn.modify_style(style)
    btn.set_tooltip_text("Close page1")
    wim,him = Gtk::IconSize.lookup(Gtk::IconSize::MENU)
    btn.set_size_request(wim+2,him+2)
    btn.signal_connect('clicked') do
      $notebook.remove_page($notebook.children.index(treeview))
      store.clear
      label_box.destroy
      treeview.destroy
    end
 
    image = Gtk::Image.new(Gtk::Stock::CLOSE, Gtk::IconSize::MENU)
    btn.add(image)
 
    align = Gtk::Alignment.new(1.0, 0.0, 0.0, 0.0)
    align.add(btn)
    label_box.pack_start(align, false, false, 0)
 
    label_box.spacing = 3
    label_box.show_all
 
    page = $notebook.append_page(treeview, label_box)
    treeview.show_all
    $notebook.page = $notebook.n_pages-1



All times are GMT -5. The time now is 05:16 AM.