Aşağıdaki programı toolbar.rb adıyla kaydedin.
1 #!/usr/bin/env ruby
2 # Toolbar.rb Frame'e Menu ve Toolbar Eklemek
3
4 require 'rubygems'
5 require 'wx'
6 include Wx
7
8 class ToolbarFrame < Frame
9 def initialize
10 super nil, -1, "Toolbar", :size=>Size.new(300, 200)
11 panel = Panel.new self
12 panel.set_background_colour WHITE
13 status_bar = create_status_bar #1 statusbar üretiliyor
14 tool_bar = create_tool_bar #2 toolbar üretiliyor
15 tool_bar.add_tool -1, "New", xpm_bitmap("new.xpm"), "Long help for 'New' " #3 toolbara buton ekleniyor
16 tool_bar.realize
17 menubar = MenuBar.new
18 menu1 = Menu.new
19 menubar.append menu1, "&File"
20 menu2 = Menu.new
21 menu2.append -1, "&Copy", "Copy in Statusbar"
22 menu2.append -1, "C&ut", "-"
23 menu2.append -1, "Paste", " "
24 menu2.append_separator
25 menu2.append -1, "&Options...", "Display Options"
26 menubar.append menu2, "&Edit"
27 set_menu_bar menubar
28 end
29
30 # bir Bitmap icon nesnesi döner
31 def xpm_bitmap(base_name)
32 # betiğin bulunduğu klasörde icons adında bir alt klasörde iconlar var
33 xpm_file = File.join( File.dirname(__FILE__), 'icons', base_name )
34 Wx::Bitmap.new(xpm_file, Wx::BITMAP_TYPE_XPM)
35 end
36
1 işaretli satır Wx::StatusBar nesnesinin bir oluşumunu üretiyoruz. Status bar frame gösterilmesiyle beraber en alta yerleşir ve orada yapışık olarak kalır. Status bar uygulama çalışması esnasında çeşitli bilgilendirmeler için kullanılır. Statusbar yazı boyutu ve şekli işletim sistemi tarafından belirlenir.
2 işaretli satırda Wx::ToolBar nesnesinin bir oluşumu üretiyoruz ve bu da pencerenin üst kısmına yayılır. Toolbar üzerinde çeşitli komutları yerine getirecek resimli butonlar olur.
3 işaretli satırda toolbar'a bir buton ekliyoruz. Bunu yaparken resim için bir bitmap nesnesi gerekiyor. Bunun için de xpm_bitmap adında bir metod yardımıyla betiğin bulunduğu klasöre eklediğimiz "icons" klasörü içinden bir resim dosyası çağırıyoruz. Bu klasörü WxRuby gem klasörü içindeki bigdemo örneğinin olduğu klasörde bulabilirsiniz. Mesela bende bu resimleri "/usr/lib/ruby/gems/1.8/gems/wxruby-2.0.0-x86-linux/samples/bigdemo/icons" klasöründe buldum. Daha sonra realize metodu ile toolbar'a butonlarının yerleştirmesini otomatik olarak yapmasını emrediyoruz.
Daha sonra bir MenuBar nesnesi üretiyoruz. MenuBar nesnesi pencerenin en üstüne yerleşir. Bu nesneye Menu nesneleri ekleyerek uygulamanın menüleri oluşturulur. Burda 2 adet Menu nesnesi üretiyoruz. Sonra bu menü nesnelerine alt menü komutları ekliyoruz. Hem menubar'a menu nesnesi eklerken hem de menu'ye altmenü eklerken append metodu kullanıyoruz. Menüye ulaşmak için kısayol tuşu olacak harfin önüne & işareti koymamız gerekiyor. Alt menüleri eklerken girilen 3. parametredeki string mouse menü üzerinde gezerken status barda görünür.
2 işaretli satırda Wx::ToolBar nesnesinin bir oluşumu üretiyoruz ve bu da pencerenin üst kısmına yayılır. Toolbar üzerinde çeşitli komutları yerine getirecek resimli butonlar olur.
3 işaretli satırda toolbar'a bir buton ekliyoruz. Bunu yaparken resim için bir bitmap nesnesi gerekiyor. Bunun için de xpm_bitmap adında bir metod yardımıyla betiğin bulunduğu klasöre eklediğimiz "icons" klasörü içinden bir resim dosyası çağırıyoruz. Bu klasörü WxRuby gem klasörü içindeki bigdemo örneğinin olduğu klasörde bulabilirsiniz. Mesela bende bu resimleri "/usr/lib/ruby/gems/1.8/gems/wxruby-2.0.0-x86-linux/samples/bigdemo/icons" klasöründe buldum. Daha sonra realize metodu ile toolbar'a butonlarının yerleştirmesini otomatik olarak yapmasını emrediyoruz.
Daha sonra bir MenuBar nesnesi üretiyoruz. MenuBar nesnesi pencerenin en üstüne yerleşir. Bu nesneye Menu nesneleri ekleyerek uygulamanın menüleri oluşturulur. Burda 2 adet Menu nesnesi üretiyoruz. Sonra bu menü nesnelerine alt menü komutları ekliyoruz. Hem menubar'a menu nesnesi eklerken hem de menu'ye altmenü eklerken append metodu kullanıyoruz. Menüye ulaşmak için kısayol tuşu olacak harfin önüne & işareti koymamız gerekiyor. Alt menüleri eklerken girilen 3. parametredeki string mouse menü üzerinde gezerken status barda görünür.
Hiç yorum yok:
Yorum Gönder