mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
138b4c427c
if possible) * sample/tkextlib/treectrl/*.rb: some speed up... cache the result of version checking. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8265 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
124 lines
4.3 KiB
Ruby
124 lines
4.3 KiB
Ruby
#
|
|
# Demo: Outlook Express folder list
|
|
#
|
|
def demoOutlookFolders(t)
|
|
init_pics('outlook-*')
|
|
|
|
height = t.font.metrics(:linespace) + 2
|
|
height = 18 if height < 18
|
|
|
|
t.configure(:itemheight=>height, :selectmode=>:browse, :showlines=>true,
|
|
:showroot=>true, :showrootbutton=>false, :showbuttons=>true)
|
|
|
|
if $HasColumnCreate
|
|
t.column_create(:text=>'Folders')
|
|
else
|
|
t.column_configure(0, :text=>'Folders')
|
|
end
|
|
|
|
t.element_create('e1', :image)
|
|
t.element_create('e2', :text, :lines=>1,
|
|
:fill=>[@SystemHighlightText, ['selected', 'focus']])
|
|
t.element_create('e3', :text, :lines=>1, :font=>t.font.dup.weight(:bold),
|
|
:fill=>[@SystemHighlightText, ['selected', 'focus']])
|
|
t.element_create('e4', :text, :fill=>'blue')
|
|
t.element_create('e5', :image, :image=>@images['outlook-folder'])
|
|
t.element_create('e6', :rect, :showfocus=>true,
|
|
:fill=>[
|
|
@SystemHighlight, ['selected', 'focus'],
|
|
'gray', ['selected', '!focus']
|
|
])
|
|
|
|
# image + text
|
|
s = t.style_create('s1')
|
|
t.style_elements(s, ['e6', 'e1', 'e2'])
|
|
t.style_layout(s, 'e1', :expand=>:ns)
|
|
t.style_layout(s, 'e2', :padx=>[4,0], :expand=>:ns, :squeeze=>:x)
|
|
t.style_layout(s, 'e6', :union=>['e2'], :iexpand=>:ns, :ipadx=>2)
|
|
|
|
# image + text + text
|
|
s = t.style_create('s2')
|
|
t.style_elements(s, ['e6', 'e1', 'e3', 'e4'])
|
|
t.style_layout(s, 'e1', :expand=>:ns)
|
|
t.style_layout(s, 'e3', :padx=>4, :expand=>:ns, :squeeze=>:x)
|
|
t.style_layout(s, 'e4', :expand=>:ns)
|
|
t.style_layout(s, 'e6', :union=>['e3'], :iexpand=>:ns, :ipadx=>2)
|
|
|
|
# folder + text
|
|
s = t.style_create('s3')
|
|
t.style_elements(s, ['e6', 'e5', 'e2'])
|
|
t.style_layout(s, 'e5', :expand=>:ns)
|
|
t.style_layout(s, 'e2', :padx=>[4,0], :expand=>:ns, :squeeze=>:x)
|
|
t.style_layout(s, 'e6', :union=>['e2'], :iexpand=>:ns, :ipadx=>2)
|
|
|
|
# folder + text + text
|
|
s = t.style_create('s4')
|
|
t.style_elements(s, ['e6', 'e5', 'e3', 'e4'])
|
|
t.style_layout(s, 'e5', :expand=>:ns)
|
|
t.style_layout(s, 'e3', :padx=>4, :expand=>:ns, :squeeze=>:x)
|
|
t.style_layout(s, 'e4', :expand=>:ns)
|
|
t.style_layout(s, 'e6', :union=>['e3'], :iexpand=>:ns, :ipadx=>2)
|
|
|
|
t.item_style_set(:root, 0, 's1')
|
|
t.item_complex(:root,
|
|
[
|
|
['e1', {:image=>@images['outlook-main']}],
|
|
['e2', {:text=>'Outlook Express'}]
|
|
])
|
|
|
|
parentList = [:root, '', '', '', '', '', '']
|
|
parent = :root
|
|
[
|
|
[0, :local, "Local Folders", true, 0],
|
|
[1, :inbox, 'Inbox', false, 5],
|
|
[1, :outbox, 'Outbox', false, 0],
|
|
[1, :sent, "Sent Items", false, 0],
|
|
[1, :deleted, "Deleted Items", false, 50],
|
|
[1, :draft, 'Drafts', false, 0],
|
|
[1, :folder, "Messages to Dad", false, 0],
|
|
[1, :folder, "Messages to Sis", false, 0],
|
|
[1, :folder, "Messages to Me", false, 0],
|
|
[2, :folder, "2001", false, 0],
|
|
[2, :folder, "2000", false, 0],
|
|
[2, :folder, "1999", false, 0],
|
|
[0, :server, "news.gmane.org", true, 0],
|
|
[1, :group, "gmane.comp.lang.lua.general", false, 498]
|
|
].each{|depth, img, text, button, unread|
|
|
if $Version_1_1_OrLater
|
|
item = t.item_create(:button=>button)
|
|
else
|
|
item = t.item_create
|
|
t.item_hasbutton(item, button)
|
|
end
|
|
if img == :folder
|
|
if unread != 0
|
|
t.item_style_set(item, 0, 's4')
|
|
t.item_complex(item,
|
|
[['e3', {:text=>text}], ['e4', {:text=>"(#{unread})"}]])
|
|
else
|
|
t.item_style_set(item, 0, 's3')
|
|
t.item_complex(item, [['e2', {:text=>text}]])
|
|
end
|
|
else
|
|
if unread != 0
|
|
t.item_style_set(item, 0, 's2')
|
|
t.item_complex(item,
|
|
[
|
|
['e1', {:image=>@images["outlook-#{img}"]}],
|
|
['e3', {:text=>text}],
|
|
['e4', {:text=>"(#{unread})"}]
|
|
])
|
|
else
|
|
t.item_style_set(item, 0, 's1')
|
|
t.item_complex(item,
|
|
[
|
|
['e1', {:image=>@images["outlook-#{img}"]}],
|
|
['e2', {:text=>text}]
|
|
])
|
|
end
|
|
end
|
|
t.item_lastchild(parentList[depth], item)
|
|
depth += 1
|
|
parentList[depth] = item
|
|
}
|
|
end
|