Extended maintenance of Ruby 1.9.3 ended on February 23, 2015. Read more

In Files

  • tk/lib/tk/toplevel.rb
  • tk/lib/tkextlib/tktrans/tktrans.rb

Class/Module Index [+]

Quicksearch

Tk::Toplevel

Public Class Methods

bind(*args, &b) click to toggle source
 
               # File tk/lib/tk/toplevel.rb, line 231
def self.bind(*args, &b)
  if self == WidgetClassNames[WidgetClassName] || self.name == ''
    super(*args, &b)
  else
    TkDatabaseClass.new(self.name).bind(*args, &b)
  end
end
            
bind_append(*args, &b) click to toggle source
 
               # File tk/lib/tk/toplevel.rb, line 238
def self.bind_append(*args, &b)
  if self == WidgetClassNames[WidgetClassName] || self.name == ''
    super(*args, &b)
  else
    TkDatabaseClass.new(self.name).bind_append(*args, &b)
  end
end
            
bind_remove(*args) click to toggle source
 
               # File tk/lib/tk/toplevel.rb, line 245
def self.bind_remove(*args)
  if self == WidgetClassNames[WidgetClassName] || self.name == ''
    super(*args)
  else
    TkDatabaseClass.new(self.name).bind_remove(*args)
  end
end
            
bindinfo(*args) click to toggle source
 
               # File tk/lib/tk/toplevel.rb, line 252
def self.bindinfo(*args)
  if self == WidgetClassNames[WidgetClassName] || self.name == ''
    super(*args)
  else
    TkDatabaseClass.new(self.name).bindinfo(*args)
  end
end
            
database_class() click to toggle source
 
               # File tk/lib/tk/toplevel.rb, line 220
def self.database_class
  if self == WidgetClassNames[WidgetClassName] || self.name == ''
    self
  else
    TkDatabaseClass.new(self.name)
  end
end
            
database_classname() click to toggle source
 
               # File tk/lib/tk/toplevel.rb, line 227
def self.database_classname
  self.database_class.name
end
            
new(parent=nil, screen=nil, classname=nil, keys=nil) click to toggle source
 
               # File tk/lib/tk/toplevel.rb, line 98
def initialize(parent=nil, screen=nil, classname=nil, keys=nil)
  my_class_name = nil
  if self.class < WidgetClassNames[WidgetClassName]
    my_class_name = self.class.name
    my_class_name = nil if my_class_name == ''
  end
  if parent.kind_of? Hash
    keys = _symbolkey2str(parent)
    if keys.key?('classname')
      keys['class'] = keys.delete('classname')
    end
    @classname = keys['class']
    @colormap  = keys['colormap']
    @container = keys['container']
    @screen    = keys['screen']
    @use       = keys['use']
    @visual    = keys['visual']
    if !@classname && my_class_name
      keys['class'] = @classname = my_class_name
    end
    if @classname.kind_of? TkBindTag
      @db_class = @classname
      keys['class'] = @classname = @classname.id
    elsif @classname
      @db_class = TkDatabaseClass.new(@classname)
      keys['class'] = @classname
    else
      @db_class = self.class
      @classname = @db_class::WidgetClassName
    end
    keys, cmds = _wm_command_option_chk(keys)
    super(keys)
    cmds.each{|k,v|
      if v.kind_of? Array
        self.__send__(k,*v)
      else
        self.__send__(k,v)
      end
    }
    return
  end

  if screen.kind_of? Hash
    keys = screen
  else
    @screen = screen
    if classname.kind_of? Hash
      keys = classname
    else
      @classname = classname
    end
  end
  if keys.kind_of? Hash
    keys = _symbolkey2str(keys)
    if keys.key?('classname')
      keys['class'] = keys.delete('classname')
    end
    @classname = keys['class']  unless @classname
    @colormap  = keys['colormap']
    @container = keys['container']
    @screen    = keys['screen'] unless @screen
    @use       = keys['use']
    @visual    = keys['visual']
  else
    keys = {}
  end
  if !@classname && my_class_name
    keys['class'] = @classname = my_class_name
  end
  if @classname.kind_of? TkBindTag
    @db_class = @classname
    keys['class'] = @classname = @classname.id
  elsif @classname
    @db_class = TkDatabaseClass.new(@classname)
    keys['class'] = @classname
  else
    @db_class = self.class
    @classname = @db_class::WidgetClassName
  end
  keys, cmds = _wm_command_option_chk(keys)
  super(parent, keys)
  cmds.each{|k,v|
    if v.kind_of? Array
      self.send(k,*v)
    else
      self.send(k,v)
    end
  }
end
            

Public Instance Methods

add_menu(menu_info, tearoff=false, opts=nil) click to toggle source
 
               # File tk/lib/tk/toplevel.rb, line 201
def add_menu(menu_info, tearoff=false, opts=nil)
  # See tk/menuspec.rb for menu_info.
  # opts is a hash of default configs for all of cascade menus.
  # Configs of menu_info can override it.
  if tearoff.kind_of?(Hash)
    opts = tearoff
    tearoff = false
  end
  _create_menubutton(self, menu_info, tearoff, opts)
end
            
add_menubar(menu_spec, tearoff=false, opts=nil) click to toggle source
 
               # File tk/lib/tk/toplevel.rb, line 212
def add_menubar(menu_spec, tearoff=false, opts=nil)
  # See tk/menuspec.rb for menu_spec.
  # opts is a hash of default configs for all of cascade menus.
  # Configs of menu_spec can override it.
  menu_spec.each{|info| add_menu(info, tearoff, opts)}
  self.menu
end
            
specific_class() click to toggle source

def create_self(keys)

if keys and keys != None
  tk_call_without_enc('toplevel', @path, *hash_kv(keys, true))
else
  tk_call_without_enc('toplevel', @path)
end

end private :create_self

 
               # File tk/lib/tk/toplevel.rb, line 197
def specific_class
  @classname
end
            
tktrans_get_image() click to toggle source
 
               # File tk/lib/tkextlib/tktrans/tktrans.rb, line 61
def tktrans_get_image()
  tk_send('tktrans::settoplevel', @path)
end
            
tktrans_set_image(img) click to toggle source
 
               # File tk/lib/tkextlib/tktrans/tktrans.rb, line 57
def tktrans_set_image(img)
  tk_send('tktrans::settoplevel', @path, img)
  self
end
            

Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.

If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.

If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.