Class: TkWidgetFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/a-tkcommons.rb

Overview

require ‘tkextlib/tile’ Tk.tk_call “eval”,“ttk::setTheme clam” Tk::Tile::Style.theme_use(‘clam’)

Instance Method Summary collapse

Constructor Details

#initializeTkWidgetFactory

Returns a new instance of TkWidgetFactory.



1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
# File 'lib/a-tkcommons.rb', line 1392

def initialize
  if Arcadia.conf('tile.theme')
    @use_tile = true
    begin
      require 'tkextlib/tile'
      if Tk::Tile::Style.theme_names.include?(Arcadia.conf('tile.theme'))
        Tk::Tile::Style.theme_use(Arcadia.conf('tile.theme'))
      else
        @use_tile = false
      end
    rescue
      @use_tile = false
    end
    initialize_tile_widgets if @use_tile
  end
end

Instance Method Details

#initialize_tile_widgetsObject



1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
# File 'lib/a-tkcommons.rb', line 1409

def initialize_tile_widgets
  #TScrollbar
  Tk::Tile::Style.configure("Arcadia.TScrollbar", Arcadia.style('scrollbar'))
  Tk::Tile::Style.map("Arcadia.TScrollbar",
  :background=>[:pressed, '#694418', :disabled, '#333333', :active, Arcadia.style('scrollbar')['activebackground']],
  :arrowcolor=>[:pressed, '#FEF7CB', :disabled, Arcadia.style('scrollbar')['background'], :active, Arcadia.style('scrollbar')['activebackground']],
  :relief=>[:pressed, :sunken])

  Tk::Tile::Style.layout(Tk::Tile.style('Vertical', "Arcadia.TScrollbar"),
  ["Scrollbar.trough",{:sticky=>"nsew", :children=>[
    "Scrollbar.uparrow",{:side=>:top, :sticky=>"we"},
    "Scrollbar.downarrow", {:side=>:bottom, :sticky=>"we"},
  "Scrollbar.thumb", {:sticky=>"nswe",:side=>:top, :border =>1, :expand=>true}]}])

  Tk::Tile::Style.layout(Tk::Tile.style('Horizontal', "Arcadia.TScrollbar"),
  ['Scrollbar.trough', {:children=>[
    'Scrollbar.leftarrow',   {:side=>:left},
    'Scrollbar.rightarrow', {:side=>:right},
  'Scrollbar.thumb',  {:side=>:left, :expand=>true}]}])

  #TFrame
  #Tk::Tile::Style.configure(Tk::Tile::TFrame, Arcadia.style('panel'))

  #TPaned
  #Tk::Tile::Style.configure(Tk::Tile::TPaned, Arcadia.style('panel'))

  #TEntry
  #Tk::Tile::Style.configure(Tk::Tile::TEntry, Arcadia.style('edit'))

  #TCombobox
  #Tk::Tile::Style.configure(Tk::Tile::TCombobox, Arcadia.style('combobox'))

  #TLabel
  #Tk::Tile::Style.configure(Tk::Tile::TLabel, Arcadia.style('label'))


  #Treeview
  #Tk::Tile::Style.configure(Tk::Tile::Treeview, Arcadia.style('treepanel'))


  #TMenubutton
  #Tk::Tile::Style.configure(Tk::Tile::TMenubutton, Arcadia.style('menu'))

  #TButton
  #Tk::Tile::Style.configure(Tk::Tile::TButton, Arcadia.style('button'))
end

#scrollbar(_parent, _args = nil, &b) ⇒ Object



1456
1457
1458
1459
1460
1461
1462
1463
# File 'lib/a-tkcommons.rb', line 1456

def scrollbar(_parent,_args=nil, &b)
  if @use_tile
    return Tk::Tile::Scrollbar.new(_parent,{:style=>"Arcadia.TScrollbar"}.update(_args), &b)
  else
    return TkScrollbar.new(_parent,Arcadia.style('scrollbar').update(_args), &b)
  end

end