nobody at rubyforge.org
2006-Dec-26 11:18 UTC
[Wxruby-development] [806] trunk/wxruby2/samples/treectrl: Restored demonstration of use of icons and fonts within TreeCtrl
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><style type="text/css"><!-- #msg dl { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; } #msg dt { float: left; width: 6em; font-weight: bold; } #msg dt:after { content:'':'';} #msg dl, #msg dt, #msg ul, #msg li, #header, #footer { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; } #msg dl a { font-weight: bold} #msg dl a:link { color:#fc3; } #msg dl a:active { color:#ff0; } #msg dl a:visited { color:#cc6; } h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; } #msg pre { overflow: auto; background: #ffc; border: 1px #fc0 solid; padding: 6px; } #msg ul, pre { overflow: auto; } #header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; } #patch { width: 100%; } #patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;} #patch .propset h4, #patch .binary h4 {margin:0;} #patch pre {padding:0;line-height:1.2em;margin:0;} #patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;} #patch .propset .diff, #patch .binary .diff {padding:10px 0;} #patch span {display:block;padding:0 10px;} #patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;} #patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;} #patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;} #patch .lines, .info {color:#888;background:#fff;} --></style> <title>[806] trunk/wxruby2/samples/treectrl: Restored demonstration of use of icons and fonts within TreeCtrl</title> </head> <body> <div id="msg"> <dl> <dt>Revision</dt> <dd>806</dd> <dt>Author</dt> <dd>brokentoy</dd> <dt>Date</dt> <dd>2006-12-26 06:18:31 -0500 (Tue, 26 Dec 2006)</dd> </dl> <h3>Log Message</h3> <pre>Restored demonstration of use of icons and fonts within TreeCtrl</pre> <h3>Modified Paths</h3> <ul> <li><a href="#trunkwxruby2samplestreectrltreectrlrb">trunk/wxruby2/samples/treectrl/treectrl.rb</a></li> </ul> <h3>Added Paths</h3> <ul> <li><a href="#trunkwxruby2samplestreectrlicon1xpm">trunk/wxruby2/samples/treectrl/icon1.xpm</a></li> <li><a href="#trunkwxruby2samplestreectrlicon2xpm">trunk/wxruby2/samples/treectrl/icon2.xpm</a></li> <li><a href="#trunkwxruby2samplestreectrlicon3xpm">trunk/wxruby2/samples/treectrl/icon3.xpm</a></li> <li><a href="#trunkwxruby2samplestreectrlicon4xpm">trunk/wxruby2/samples/treectrl/icon4.xpm</a></li> <li><a href="#trunkwxruby2samplestreectrlicon5xpm">trunk/wxruby2/samples/treectrl/icon5.xpm</a></li> </ul> </div> <div id="patch"> <h3>Diff</h3> <a id="trunkwxruby2samplestreectrlicon1xpm"></a> <div class="addfile"><h4>Added: trunk/wxruby2/samples/treectrl/icon1.xpm (0 => 806)</h4> <pre class="diff"><span> <span class="info">--- trunk/wxruby2/samples/treectrl/icon1.xpm         (rev 0) +++ trunk/wxruby2/samples/treectrl/icon1.xpm        2006-12-26 11:18:31 UTC (rev 806) </span><span class="lines">@@ -0,0 +1,79 @@ </span><ins>+/* XPM */ +static char *icon1_xpm[] = { +/* columns rows colors chars-per-pixel */ +"32 32 41 1", +"> c #97C4E7", +"# c #4381AA", +"d c #FFFFFF", +"< c #71B2DE", +"+ c #538BB1", +"& c #D1E5F5", +"q c #63B3DE", +"6 c #F1F4F7", +"* c #CAE1F3", +"y c #7AC4E5", +"= c #C3DDF1", +"X c #74A1BD", +"- c #BCD9EF", +"5 c #619BC4", +"3 c #E6EAF1", +"2 c #4B8EBF", +"o c #6B97B6", +". c #4B82A8", +" c None", +"w c #54A6D8", +"1 c #71A8D1", +", c #85BBE2", +"t c #EFF6FC", +"7 c #DEEDF8", +"@ c #4388B4", +"a c #F7FBFD", +"$ c #D7E0E9", +"r c #FAFCFE", +"4 c #DAEAF7", +"e c #E9F3FA", +"0 c #76BAE2", +"% c #7FA6C0", +"s c #FDFDFE", +"O c #5896BE", +"p c #B6D5EE", +"8 c #87ABC3", +": c #A5CCEA", +"9 c #E5F0F9", +"; c #AFD1EC", +"i c #F4F9FD", +"u c #8FB0C3", +/* pixels */ +" ", +" ", +" ", +" ", +" ", +" .XXXooOO++@#$ ", +" %&*=-;:>>,<123 ", +" %4&*=-;:>>,1>56 ", +" %74&*=-;:>>1*>56 ", +" 89700qqqqwq1e*>X ", +" 8e974&*=-;:1re*>8 ", +" 8te974&*=-;11111# ", +" 8tty000qqqqqww>,+ ", +" uitte974&*=-p:>>+ ", +" uaitte974&*=-p:>O ", +" uaayyyy000qqqqp:O ", +" uraaitte974&*=-po ", +" urraaitte974&*=-o ", +" usryyyyyyy000q*=X ", +" ussrraaitte974&*X ", +" udssrraaitte974&X ", +" uddyyyyyyyyyy074% ", +" udddssrraaitte97% ", +" uddddssrraaitte9% ", +" udddddssrraaitte8 ", +" uddddddssrraaitt8 ", +" uuuuuuuuuuuuuu88u ", +" ", +" ", +" ", +" ", +" " +}; </ins></span></pre></div> <a id="trunkwxruby2samplestreectrlicon2xpm"></a> <div class="addfile"><h4>Added: trunk/wxruby2/samples/treectrl/icon2.xpm (0 => 806)</h4> <pre class="diff"><span> <span class="info">--- trunk/wxruby2/samples/treectrl/icon2.xpm         (rev 0) +++ trunk/wxruby2/samples/treectrl/icon2.xpm        2006-12-26 11:18:31 UTC (rev 806) </span><span class="lines">@@ -0,0 +1,53 @@ </span><ins>+/* XPM */ +static char *icon2_xpm[] = { +/* columns rows colors chars-per-pixel */ +"32 32 15 1", +". c Black", +"O c #97C4E7", +"$ c #63B3DE", +"@ c #CAE1F3", +"; c #7AC4E5", +"* c #74A1BD", +"+ c #619BC4", +"o c #4B8EBF", +" c None", +"% c #54A6D8", +"= c #FAFCFE", +"& c #E9F3FA", +"# c #76BAE2", +"X c #C00000", +"- c #87ABC3", +/* pixels */ +" ", +" ", +" ", +" ", +" ", +" ............. ", +" .XXXXXXXXXX.o. ", +" .XXXXXXXXXX.O+. ", +" .XXXXXXXXXX.@O+. ", +" .XX##$$$$%$.&@O* ", +" .XXXXXXXXXX.=&@O- ", +" .XXXXXXXXXX...... ", +" .XX;###$$$$$%%XX. ", +" .XXXXXXXXXXXXXXX. ", +" .XXXXXXXXXXXXXXX. ", +" .XX;;;;###$$$$XX. ", +" .XXXXXXXXXXXXXXX. ", +" .XXXXXXXXXXXXXXX. ", +" .XX;;;;;;;###$XX. ", +" .XXXXXXXXXXXXXXX. ", +" .XXXXXXXXXXXXXXX. ", +" .XX;;;;;;;;;;#XX. ", +" .XXXXXXXXXXXXXXX. ", +" .XXXXXXXXXXXXXXX. ", +" .XXXXXXXXXXXXXXX. ", +" .XXXXXXXXXXXXXXX. ", +" ................. ", +" ", +" ", +" ", +" ", +" " +}; </ins></span></pre></div> <a id="trunkwxruby2samplestreectrlicon3xpm"></a> <div class="addfile"><h4>Added: trunk/wxruby2/samples/treectrl/icon3.xpm (0 => 806)</h4> <pre class="diff"><span> <span class="info">--- trunk/wxruby2/samples/treectrl/icon3.xpm         (rev 0) +++ trunk/wxruby2/samples/treectrl/icon3.xpm        2006-12-26 11:18:31 UTC (rev 806) </span><span class="lines">@@ -0,0 +1,79 @@ </span><ins>+/* XPM */ +static char *icon3_xpm[] = { +/* columns rows colors chars-per-pixel */ +"32 32 41 1", +"6 c #EDF2FB", +"- c #AAC1E8", +": c #B9CDED", +"X c #295193", +", c #C6D6F0", +"a c #4A7CCE", +"u c #779DDB", +"y c #7FA2DD", +"$ c #3263B4", +"5 c #EAF0FA", +". c #2D59A3", +"o c #6E96D8", +"* c #356AC1", +"r c #F7F9FD", +"> c #BED0EE", +"3 c #E1E9F7", +"7 c #F0F5FC", +"< c #CBD9F1", +"2 c #DAE5F6", +"# c #3161B1", +" c None", +"0 c #FDFEFF", +"= c #9FB9E5", +"e c #AEC5EA", +"t c #89A9DF", +"q c #98B5E4", +"p c #5584D1", +"d c #3A70CA", +"@ c #305FAC", +"i c #5D89D3", +"1 c #D2DFF4", +"% c #3366B9", +"9 c #FAFCFE", +"8 c #F5F8FD", +"s c #4075CC", +"O c #638ED5", +"w c #90AFE2", +"& c #3467BC", +"+ c #2F5DA9", +"; c #B3C8EB", +"4 c #E5EDF9", +/* pixels */ +" ", +" ", +" ", +" ", +" ", +" ", +" ......X ", +" .oooooO+ ", +" .ooooooo. ", +" .+@@@##$%%&&&&&****. ", +" .=-;:>,<12345678900. ", +" .q=-;:>,<1234567890. ", +" .wq=-e:>,<12345678r. ", +" .twq=-e:>,<12345678. ", +" .ytwq=-e:>,<1234567. ", +" .uytwq=-e:>,<123456. ", +" .ouytwq=-e:>,<12345. ", +" .Oouytwq=-e;>,<1234. ", +" .iOouytwq=-e;>,<123. ", +" .piOouytwq=-e;>,<12. ", +" .apiOouytwq=-e;>,<1. ", +" .sapiOouytwq=-e;>,<. ", +" .dsapiOouytwq=-e;>,. ", +" ...................# ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" " +}; </ins></span></pre></div> <a id="trunkwxruby2samplestreectrlicon4xpm"></a> <div class="addfile"><h4>Added: trunk/wxruby2/samples/treectrl/icon4.xpm (0 => 806)</h4> <pre class="diff"><span> <span class="info">--- trunk/wxruby2/samples/treectrl/icon4.xpm         (rev 0) +++ trunk/wxruby2/samples/treectrl/icon4.xpm        2006-12-26 11:18:31 UTC (rev 806) </span><span class="lines">@@ -0,0 +1,43 @@ </span><ins>+/* XPM */ +static char *icon4_xpm[] = { +/* columns rows colors chars-per-pixel */ +"32 32 5 1", +". c Black", +"o c #8399B4", +"X c #8DA0B9", +" c None", +"O c #800000", +/* pixels */ +" ", +" ", +" ", +" ", +" ", +" ", +" ....... ", +" .XXXXXo. ", +" .XXXXXXX. ", +" .................... ", +" .OOOOOOOOOOOOOOOOOO. ", +" .OOOOOOOOOOOOOOOOOO. ", +" .OOOOOOOOOOOOOOOOOO. ", +" .OOOOOOOOOOOOOOOOOO. ", +" .OOOOOOOOOOOOOOOOOO. ", +" .OOOOOOOOOOOOOOOOOO. ", +" .OOOOOOOOOOOOOOOOOO. ", +" .OOOOOOOOOOOOOOOOOO. ", +" .OOOOOOOOOOOOOOOOOO. ", +" .OOOOOOOOOOOOOOOOOO. ", +" .OOOOOOOOOOOOOOOOOO. ", +" .OOOOOOOOOOOOOOOOOO. ", +" .OOOOOOOOOOOOOOOOOO. ", +" .................... ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" " +}; </ins></span></pre></div> <a id="trunkwxruby2samplestreectrlicon5xpm"></a> <div class="addfile"><h4>Added: trunk/wxruby2/samples/treectrl/icon5.xpm (0 => 806)</h4> <pre class="diff"><span> <span class="info">--- trunk/wxruby2/samples/treectrl/icon5.xpm         (rev 0) +++ trunk/wxruby2/samples/treectrl/icon5.xpm        2006-12-26 11:18:31 UTC (rev 806) </span><span class="lines">@@ -0,0 +1,79 @@ </span><ins>+/* XPM */ +static char *icon5_xpm[] = { +/* columns rows colors chars-per-pixel */ +"32 32 41 1", +"0 c #AAC1E8", +"q c #B9CDED", +"X c #295193", +"e c #C6D6F0", +"a c #4A7CCE", +"& c #779DDB", +"* c #7FA2DD", +"2 c #EAF0FA", +"@ c #2D59A3", +"o c #6E96D8", +"y c #356AC1", +"d c #214279", +"w c #BED0EE", +"= c #85A7DF", +"< c #E1E9F7", +"3 c #F0F5FC", +"s c #CBD9F1", +", c #DAE5F6", +"7 c #3161B1", +" c None", +". c #274D8B", +"6 c #FDFEFF", +"i c #E7EEF9", +"9 c #9FB9E5", +"- c #89A9DF", +"8 c #98B5E4", +"$ c #5584D1", +"+ c #3569BF", +"% c #305FAC", +"O c #5D89D3", +"> c #D2DFF4", +"p c #3366B9", +"5 c #FAFCFE", +"4 c #F5F8FD", +"t c #4075CC", +"u c #638ED5", +"r c #CEDCF2", +"; c #90AFE2", +"# c #2F5DA9", +": c #B3C8EB", +"1 c #E5EDF9", +/* pixels */ +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ......X ", +" XoooooO. ", +" Xoooooo+. ", +" Xooooooo@XXXXXXXXXX# ", +" Xoooooooooooooooooo# ", +" Xoooooooooooooooooo# ", +" Xoo$################### ", +" Xoo%O&*=-;:>,<123445667 ", +" XooX890:qwer>,<123445q# ", +" Xoty;890:qwer>,<12344# ", +" Xo%u-;890:qwer>,<i234# ", +" XoX&*-;890:qwer>,<i2r# ", +" Xtpo&*-;890:qwer>,<i# ", +" X%auo&*-;890:qwer>,<# ", +" XX$Ouo&*-;890:qwer>s# ", +" d%a$Ouo&*-;890:qwer# ", +" d+ta$Ouo&*-;890:qwe# ", +" d..................# ", +" ", +" ", +" ", +" ", +" ", +" ", +" " +}; </ins></span></pre></div> <a id="trunkwxruby2samplestreectrltreectrlrb"></a> <div class="modfile"><h4>Modified: trunk/wxruby2/samples/treectrl/treectrl.rb (805 => 806)</h4> <pre class="diff"><span> <span class="info">--- trunk/wxruby2/samples/treectrl/treectrl.rb        2006-12-26 01:44:30 UTC (rev 805) +++ trunk/wxruby2/samples/treectrl/treectrl.rb        2006-12-26 11:18:31 UTC (rev 806) </span><span class="lines">@@ -73,7 +73,7 @@ </span><span class="cx"> </span><span class="cx"> @reverse_sort = false </span><span class="cx"> </span><del>- create_image_list() </del><ins>+ create_image_list </ins><span class="cx"> </span><span class="cx"> # add some items to the tree </span><span class="cx"> add_test_items_to_tree(5, 2) </span><span class="lines">@@ -134,54 +134,28 @@ </span><span class="cx"> return get_item_parent(item) == get_root_item() && !get_prev_sibling(item) </span><span class="cx"> end </span><span class="cx"> </span><del>- # TEMPORARILY DISABLED - def set_item_image(*args) - end </del><ins>+ def create_image_list + @imageSize = 16 </ins><span class="cx"> </span><del>- # TEMPORARILY DISABLED - def create_image_list(size = 16) - return false - if size == -1 - set_image_list(nil) - return nil - end - if size == 0 - size = @imageSize - else - @imageSize = size - end - </del><span class="cx"> # Make an image list containing small icons </span><del>- images = Wx::ImageList.new(size, size, true) - </del><ins>+ images = Wx::ImageList.new(16, 16, true) </ins><span class="cx"> # should correspond to TreeCtrlIcon_xxx enum </span><del>- Wx::BusyCursor.busy do |x| - icons = [ - Wx::Icon.new("icon1.xpm"), - Wx::Icon.new("icon2.xpm"), - Wx::Icon.new("icon3.xpm"), - Wx::Icon.new("icon4.xpm"), - Wx::Icon.new("icon5.xpm")] - - orig_size = icons[0].get_width() - for i in 0 ... icons.length - if size == orig_size - images.add(icons[i]) - else - images.add(icons[i]) - end </del><ins>+ Wx::BusyCursor.busy do + icons = (1 .. 5).map do | i | + icon_file = File.join(File.dirname(__FILE__), "icon#{i}.xpm") + # Wx::Icon.new(icon_file, Wx::BITMAP_TYPE_XPM, 16, 16) + Wx::Bitmap.new(icon_file, Wx::BITMAP_TYPE_XPM) </ins><span class="cx"> end </span><del>- - assign_image_list(images) </del><ins>+ icons.each { | ic | images.add(ic) } + set_image_list(images) </ins><span class="cx"> end </span><span class="cx"> end </span><span class="cx"> </span><del>- def create_buttons_image_list(size = 11) - if size == -1 - set_buttons_image_list(nil) - return nil - end </del><ins>+ def unset_image_list + set_image_list(nil) + end </ins><span class="cx"> </span><ins>+ def create_buttons_image_list() </ins><span class="cx"> # Make an image list containing small icons </span><span class="cx"> images = Wx::ImageList.new(size, size, true) </span><span class="cx"> </span><span class="lines">@@ -193,12 +167,12 @@ </span><span class="cx"> Wx::Icon.new("icon5.xpm"), # open </span><span class="cx"> Wx::Icon.new("icon5.xpm")] # open, selected </span><span class="cx"> </span><del>- for i in 0 ... icons.length - orig_size = icons[i].get_width() </del><ins>+ icons.each do | ic | + orig_size = ic.get_width() </ins><span class="cx"> if size == orig_size </span><del>- images.add(icons[i]) </del><ins>+ images.add(ic) </ins><span class="cx"> else </span><del>- resized = icons[i].convert_to_image().rescale(size, size) </del><ins>+ resized = ic.convert_to_image().rescale(size, size) </ins><span class="cx"> images.add( Wx::Bitmap.new(resized) ) </span><span class="cx"> end </span><span class="cx"> end </span><span class="lines">@@ -254,17 +228,22 @@ </span><span class="cx"> end </span><span class="cx"> </span><span class="cx"> def add_test_items_to_tree(num_children,depth) </span><del>- image = Wx::get_app.show_images() ? TreeCtrlIcon_Folder : -1 </del><ins>+ image = Wx::get_app.show_images ? TreeCtrlIcon_Folder : -1 </ins><span class="cx"> root_id = add_root("Root",image, image) </span><span class="cx"> if image != -1 </span><span class="cx"> set_item_image(root_id, TreeCtrlIcon_FolderOpened, </span><del>- Wx::TREE_ITEM_ICON_EXPANDED) </del><ins>+ Wx::TREE_ITEM_ICON_EXPANDED) </ins><span class="cx"> end </span><span class="cx"> </span><span class="cx"> add_items_recursively(root_id, num_children, depth, 0) </span><span class="cx"> </span><span class="cx"> # set some colours/fonts for testing </span><del>- set_item_font(root_id, Wx::ITALIC_FONT) </del><ins>+ # note that font sizes can also be varied, but only on platforms + # that use the generic TreeCtrl - OS X and GTK, and only if + # Wx::TR_HAS_VARIABLE_ROW_HEIGHT style was used in the constructor + font = get_font + font.set_style(Wx::FONTSTYLE_ITALIC) + set_item_font(root_id, font) </ins><span class="cx"> </span><span class="cx"> id,cookie = get_first_child(root_id) </span><span class="cx"> set_item_text_colour(id, Wx::BLUE) </span><span class="lines">@@ -1121,11 +1100,11 @@ </span><span class="cx"> end </span><span class="cx"> </span><span class="cx"> def on_toggle_images(event) </span><del>- if Wx::get_app.show_images() - @treectrl.create_image_list(-1) </del><ins>+ if Wx::get_app.show_images + @treectrl.unset_image_list </ins><span class="cx"> Wx::get_app.show_images = false </span><span class="cx"> else </span><del>- @treectrl.create_image_list(0) </del><ins>+ @treectrl.create_image_list </ins><span class="cx"> Wx::get_app.show_images = true </span><span class="cx"> end </span><span class="cx"> end </span></span></pre> </div> </div> </body> </html>
Reasonably Related Threads
- [928] branches/wxruby2/wxwidgets_282/samples/treectrl/treectrl.rb: Fixed on_insert_item, call to insert_item had arguments in wrong order/missing.
- [956] branches/wxruby2/wxwidgets_282: Additions to TreeCtrl API 2.6->2.8
- [1050] trunk/wxruby2/doc/textile: Delete doc references to remove assign_image_list methods in Tree/ListCtrl
- [800] trunk/wxruby2/doc/textile/treectrl.txtl: TreeCtrl#traverse has moved to wx sugar
- [779] trunk/wxruby2: Added TreeCtrl#traverse method and documentation