diff options
author | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-08-15 20:57:30 +0000 |
---|---|---|
committer | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-08-15 20:57:30 +0000 |
commit | 54ec1c4fe81672ca66f327ef6ae170f458cd79e5 (patch) | |
tree | 45a752c60a9a08d681a792b70f43c89903b638a2 /ruby_1_8_5/ext/tk/sample/tkextlib/treectrl/help.rb | |
parent | d464704f111d211c1f1ff9ef23ef1d755054be00 (diff) |
sorry. I made wrong tags.v1_8_5_54
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_8_5_54@13009 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby_1_8_5/ext/tk/sample/tkextlib/treectrl/help.rb')
-rw-r--r-- | ruby_1_8_5/ext/tk/sample/tkextlib/treectrl/help.rb | 404 |
1 files changed, 0 insertions, 404 deletions
diff --git a/ruby_1_8_5/ext/tk/sample/tkextlib/treectrl/help.rb b/ruby_1_8_5/ext/tk/sample/tkextlib/treectrl/help.rb deleted file mode 100644 index af026fc006..0000000000 --- a/ruby_1_8_5/ext/tk/sample/tkextlib/treectrl/help.rb +++ /dev/null @@ -1,404 +0,0 @@ -# -# Demo: Help contents -# -def demoHelpContents(t) - height = t.font.metrics(:linespace) - height = 18 if height < 18 - t.configure(:showroot=>false, :showbuttons=>false, :showlines=>false, - :itemheight=>height, :selectmode=>:browse) - - init_pics('help-*') - - if $Version_1_1_OrLater - t.column_create(:text=>'Help Contents') - else # TreeCtrl 1.0 - t.column_configure(0, :text=>'Help Contents') - end - - # Define a new item state - t.state_define('mouseover') - - t.element_create('e1', :image, :image=>@images['help-page']) - t.element_create('e2', :image, :image=>[ - @images['help-book-open'], ['open'], - @images['help-book-closed'], [], - ]) - t.element_create('e3', :text, - :font=>[t.font.dup.underline(true), ['mouseover']], - :fill=>[ - @SystemHighlightText, ['selected', 'focus'], - 'blue', ['mouseover'] - ]) - t.element_create('e4', :rect, :showfocus=>true, - :fill=>[@SystemHighlight, ['selected', 'focus']]) - - # book - s = t.style_create('s1') - t.style_elements(s, ['e4', 'e1', 'e3']) - t.style_layout(s, 'e1', :padx=>[0,4], :expand=>:ns) - t.style_layout(s, 'e3', :expand=>:ns) - t.style_layout(s, 'e4', :union=>['e3'], :iexpand=>:ns, :ipadx=>2) - - # page - s = t.style_create('s2') - t.style_elements(s, ['e4', 'e2', 'e3']) - t.style_layout(s, 'e2', :padx=>[0,4], :expand=>:ns) - t.style_layout(s, 'e3', :expand=>:ns) - t.style_layout(s, 'e4', :union=>['e3'], :iexpand=>:ns, :ipadx=>2) - - parentList = [:root, '', '', '', '', '', ''] - parent = :root - [ - [0, 's1', "Welcome to Help"], - [0, 's2', "Introducing Windows 98"], - [1, 's2', "How to Use Help"], - [2, 's1', "Find a topic"], - [2, 's1', "Get more out of help"], - [1, 's2', "Register Your Software"], - [2, 's1', "Registering Windows 98 online"], - [1, 's2', "What's New in Windows 98"], - [2, 's1', "Innovative, easy-to-use features"], - [2, 's1', "Improved reliability"], - [2, 's1', "A faster operating system"], - [2, 's1', "True Web integration"], - [2, 's1', "More entertaining and fun"], - [1, 's2', "If You're New to Windows 98"], - [2, 's2', "Tips for Macintosh Users"], - [3, 's1', "Why does the mouse have two buttons?"] - ].each{|depth, style, text| - item = t.item_create - t.item_style_set(item, 0, style) - t.item_element_configure(item, 0, 'e3', :text=>text) - if $Version_1_1_OrLater - t.item_collapse(item) - else # TreeCtrl 1.0 - t.collapse(item) - end - t.item_lastchild(parentList[depth], item) - depth += 1 - parentList[depth] = item - } - - treeCtrlHelp = TkBindTag.new - - treeCtrlHelp.bind('Double-ButtonPress-1', - proc{|w, x, y| - if w.identify(x, y)[0] == 'header' - Tk::TreeCtrl::BindCallback.doubleButton1(w, x, y) - else - helpButton1(w, x, y) - end - Tk.callback_break - }, '%W %x %y') - - treeCtrlHelp.bind('ButtonPress-1', - proc{|w, x, y| - helpButton1(w, x, y) - Tk.callback_break - }, '%W %x %y') - - treeCtrlHelp.bind('Button1-Motion', - proc{|w, x, y| - helpMotion1(w, x, y) - Tk.callback_break - }, '%W %x %y') - - treeCtrlHelp.bind('Button1-Leave', - proc{|w, x, y| - helpLeave1(w, x, y) - Tk.callback_break - }, '%W %x %y') - - treeCtrlHelp.bind('ButtonRelease-1', - proc{|w, x, y| - helpRelease1(w, x, y) - Tk.callback_break - }, '%W %x %y') - - treeCtrlHelp.bind('Motion', proc{|w, x, y| helpMotion(w, x, y) }, '%W %x %y') - - treeCtrlHelp.bind('Leave', proc{|w, x, y| helpMotion(w, x, y) }, '%W %x %y') - - treeCtrlHelp.bind('KeyPress-Return', - proc{|w, x, y| - if w.selection_get.length == 1 - if $Version_1_1_OrLater - w.item_toggle(w.selection_get[0]) - else # TreeCtrl 1.0 - w.toggle(w.selection_get[0]) - end - end - Tk.callback_break - }, '%W %x %y') - - @Priv[:help, :prev] = '' - - t.bindtags = [ t, treeCtrlHelp, Tk::TreeCtrl, t.winfo_toplevel, :all ] -end - -# This is an alternate implementation that does not define a new item state -# to change the appearance of the item under the cursor. -def demoHelpContents2(t) - height = t.font.metrics(:linespace) - height = 18 if height < 18 - t.configure(:showroot=>false, :showbuttons=>false, :showlines=>false, - :itemheight=>height, :selectmode=>:browse) - - init_pics('help-*') - - if $Version_1_1_OrLater - t.column_create(:text=>'Help Contents') - else # TreeCtrl 1.0 - t.column_configure(0, :text=>'Help Contents') - end - - t.element_create('e1', :image, :image=>@images['help-page']) - t.element_create('e2', :image, :image=>[ - @images['help-book-open'], ['open'], - @images['help-book-closed'], [], - ]) - t.element_create('e3', :text, - :fill=>[ - @SystemHighlightText, ['selected', 'focus'], - 'blue', [] - ]) - t.element_create('e4', :rect, :showfocus=>true, - :fill=>[@SystemHighligh, ['selected', 'focus']]) - t.element_create('e5', :text, :font=>t.font.dup.underline(true), - :fill=>[ - @SystemHighlightText, ['selected', 'focus'], - 'blue', [] - ]) - - # book - s = t.style_create('s1') - t.style_elements(s, ['e4', 'e1', 'e3']) - t.style_layout(s, 'e1', :padx=>[0,4], :expand=>:ns) - t.style_layout(s, 'e3', :expand=>:ns) - t.style_layout(s, 'e4', :union=>['e3'], :iexpand=>:ns, :ipadx=>2) - - # page - s = t.style_create('s2') - t.style_elements(s, ['e4', 'e2', 'e3']) - t.style_layout(s, 'e2', :padx=>[0,4], :expand=>:ns) - t.style_layout(s, 'e3', :expand=>:ns) - t.style_layout(s, 'e4', :union=>['e3'], :iexpand=>:ns, :ipadx=>2) - - # book (focus) - s = t.style_create('s1.f') - t.style_elements(s, ['e4', 'e1', 'e5']) - t.style_layout(s, 'e1', :padx=>[0,4], :expand=>:ns) - t.style_layout(s, 'e5', :expand=>:ns) - t.style_layout(s, 'e4', :union=>['e5'], :iexpand=>:ns, :ipadx=>2) - - # page (focus) - s = t.style_create('s2') - t.style_elements(s, ['e4', 'e2', 'e5']) - t.style_layout(s, 'e2', :padx=>[0,4], :expand=>:ns) - t.style_layout(s, 'e5', :expand=>:ns) - t.style_layout(s, 'e4', :union=>['e5'], :iexpand=>:ns, :ipadx=>2) - - parentList = [:root, '', '', '', '', '', ''] - parent = :root - [ - [0, 's1', "Welcome to Help"], - [0, 's2', "Introducing Windows 98"], - [1, 's2', "How to Use Help"], - [2, 's1' "Find a topic"], - [2, 's1', "Get more out of help"], - [1, 's2', "Register Your Software"], - [2, 's1', "Registering Windows 98 online"], - [1, 's2', "What's New in Windows 98"], - [2, 's1', "Innovative, easy-to-use features"], - [2, 's1', "Improved reliability"], - [2, 's1', "A faster operating system"], - [2, 's1', "True Web integration"], - [2, 's1', "More entertaining and fun"], - [1, 's2', "If You're New to Windows 98"], - [2, 's2', "Tips for Macintosh Users"], - [3, 's1', "Why does the mouse have two buttons?"] - ].each{|depth, style, text| - item = t.item_create - t.item_style_set(item, 0, style) - t.item_element_configure(item, 0, 'e3', :text=>text) - if $Version_1_1_OrLater - t.item_collapse(item) - else # TreeCtrl 1.0 - t.collapse(item) - end - t.item_lastchild(parentList[depth], item) - depth += 1 - parentList[depth] = item - } - - treeCtrlHelp = TkBindTag.new - - treeCtrlHelp.bind('Double-ButtonPress-1', - proc{|w, x, y| - if w.identify(x, y)[0] == 'header' - Tk::TreeCtrl::BindCallback.doubleButton1(w, x, y) - else - helpButton1(w, x, y) - end - Tk.callback_break - }, '%W %x %y') - - treeCtrlHelp.bind('ButtonPress-1', - proc{|w, x, y| - helpButton1(w, x, y) - Tk.callback_break - }, '%W %x %y') - - treeCtrlHelp.bind('Button1-Motion', - proc{|w, x, y| - helpMotion1(w, x, y) - Tk.callback_break - }, '%W %x %y') - - treeCtrlHelp.bind('Button1-Leave', - proc{|w, x, y| - helpLeave1(w, x, y) - Tk.callback_break - }, '%W %x %y') - - treeCtrlHelp.bind('ButtonRelease-1', - proc{|w, x, y| - helpRelease1(w, x, y) - Tk.callback_break - }, '%W %x %y') - - treeCtrlHelp.bind('Motion', proc{|w, x, y| helpMotion(w, x, y) }, '%W %x %y') - - treeCtrlHelp.bind('Leave', proc{|w, x, y| helpMotion(w, x, y) }, '%W %x %y') - - treeCtrlHelp.bind('KeyPress-Return', - proc{|w, x, y| - if w.selection_get.length == 1 - w.item_toggle(w.selection_get[0]) - end - Tk.callback_break - }, '%W %x %y') - - @Priv[:help, :prev] = '' - - t.bindtags = [ t, treeCtrlHelp, Tk::TreeCtrl, t.winfo_toplevel, :all ] -end - -def helpButton1(w, x, y) - w.set_focus - id = w.identify(x, y) - @Priv['buttonMode'] = '' - if id[0] == 'header' - Tk::TreeCtrl::BindCallback.buttonPress1(w, x, y) - elsif id[0] == 'item' - item = id[1] - # didn't click an element - return if id.length != 6 - if w.selection_includes(item) - w.toggle(item) - return - end - if w.selection_get.length > 0 - item2 = w.selection_get[0] - if $Version_1_1_OrLater - w.item_collapse(item2) - else # TreeCtrl 1.0 - w.collapse(item2) - end - w.item_ancestors(item2).each{|i| - if $Version_1_1_OrLater - w.item_collapse(i) if w.compare(item, '!=', i) - else # TreeCtrl 1.0 - w.collapse(i) if w.compare(item, '!=', i) - end - } - end - w.activate(item) - if $Version_1_1_OrLater - w.item_ancestors(item).each{|i| - w.item_expand(i) - } - w.item_toggle(item) - else # TreeCtrl 1.0 - w.expand(*(w.item_ancestors(item))) - w.toggle(item) - end - w.selection_modify(item, :all) - end -end - -def helpMotion1(w, x, y) - case @Priv['buttonMode'] - when 'resize', 'header' - Tk::TreeCtrl::BindCallback.motion1(w, x, y) - end -end - -def helpLeave1(w, x, y) - # This is called when I do ButtonPress-1 on Unix for some reason, - # and buttonMode is undefined. - return unless @Priv.exist?('buttonMode') - case @Priv['buttonMode'] - when 'header' - w.column_configure(@Priv['column'], :sunken=>false) - end -end - -def helpRelease1(w, x, y) - case @Priv['buttonMode'] - when 'resize', 'header' - Tk::TreeCtrl::BindCallback.release1(w, x, y) - end - @Priv['buttonMode'] = '' -end - -def helpMotion(w, x, y) - id = w.identify(x, y) - if id.empty? - elsif id[0] == 'header' - elsif id[0] == 'item' - item = id[1] - if id.length == 6 - if @Priv[:help, :prev] != TkComm._get_eval_string(item) - if @Priv[:help, :prev] != '' - w.item_state_set(@Priv[:help, :prev], '!mouseover') - end - w.item_state_set(item, 'mouseover') - @Priv[:help, :prev] = item - end - return - end - end - if @Priv[:help, :prev] != '' - w.item_state_set(@Priv[:help, :prev], '!mouseover') - @Priv[:help, :prev] = '' - end -end - -# Alternate implementation doesn't rely on mouseover state -def helpMotion2(w, x, y) - id = w.identify(x, y) - if id[0] == 'header' - elsif !id.empty? - item = id[1] - if id.kength == 6 - if @Priv[:help, :prev] != TkComm._get_eval_string(item) - if @Priv[:help, :prev] != '' - style = w.item_style_set(@Priv[:help, :prev], 0) - style.sub!(/\.f$/, '') - w.item_style_map(@Priv[:help, :prev], 0, style, ['e5', 'e3']) - end - style = w.item_style_set(item, 0) - w.item_style_map(item, 0, style + '.f', ['e3', 'e5']) - @Priv[:help, :prev] = item - end - return - end - end - if @Priv[:help, :prev] != '' - style = w.item_style_set(@Priv[:help, :prev], 0) - style.sub!(/\.f$/, '') - w.item_style_map(@Priv[:help, :prev], 0, style, ['e5', 'e3']) - @Priv[:help, :prev] = '' - end -end |