Methods
#
C
Class Public methods
_msgdlg(parent)
# File ext/tk/sample/tkextlib/bwidget/tmpldlg.rb, line 87
def self._msgdlg(parent)
  @@msg['type'] = 'ok'
  @@msg['icon'] = 'info'

  labf1 = Tk::BWidget::LabelFrame.new(parent, :text=>'Type', :side=>:top,
                                      :anchor=>:w, :relief=>:sunken,
                                      :borderwidth=>1)
  subf = labf1.get_frame
  Tk.pack(TkRadiobutton.new(subf, :text=>'Ok', :value=>'ok',
                            :variable=>@@msg.ref('type'), :anchor=>:w),
          TkRadiobutton.new(subf, :text=>'Ok, Cancel', :value=>'okcancel',
                            :variable=>@@msg.ref('type'), :anchor=>:w),
          TkRadiobutton.new(subf, :text=>'Retry, Cancel',
                            :value=>'retrycancel',
                            :variable=>@@msg.ref('type'), :anchor=>:w),
          TkRadiobutton.new(subf, :text=>'Yes, No', :value=>'yesno',
                            :variable=>@@msg.ref('type'), :anchor=>:w),
          TkRadiobutton.new(subf, :text=>'Yes, No, Cancel',
                            :value=>'yesnocancel',
                            :variable=>@@msg.ref('type'), :anchor=>:w),
          TkRadiobutton.new(subf, :text=>'Abort, Retry, Ignore',
                            :value=>'abortretryignore',
                            :variable=>@@msg.ref('type'), :anchor=>:w),
          :fill=>:x, :anchor=>:w)

  Tk.pack(TkRadiobutton.new(subf, :text=>'User', :value=>'user',
                            :variable=>@@msg.ref('type'), :anchor=>:w),
          Tk::BWidget::Entry.new(subf, :textvariable=>@@msg.ref('buttons')),
          :side=>:left)

  labf2 = Tk::BWidget::LabelFrame.new(parent, :text=>'Icon', :side=>:top,
                                      :anchor=>:w, :relief=>:sunken,
                                      :borderwidth=>1)
  subf = labf2.get_frame
  Tk.pack(TkRadiobutton.new(subf, :text=>'Information', :value=>'info',
                            :variable=>@@msg.ref('icon'), :anchor=>:w),
          TkRadiobutton.new(subf, :text=>'Question',    :value=>'question',
                            :variable=>@@msg.ref('icon'), :anchor=>:w),
          TkRadiobutton.new(subf, :text=>'Warning',     :value=>'warning',
                            :variable=>@@msg.ref('icon'), :anchor=>:w),
          TkRadiobutton.new(subf, :text=>'Error',       :value=>'error',
                            :variable=>@@msg.ref('icon'), :anchor=>:w),
          :fill=>:x, :anchor=>:w)

  sep = Tk::BWidget::Separator.new(parent, :orient=>:horizontal)
  button = TkButton.new(parent, :text=>'Show', :command=>proc{_show_msgdlg})

  button.pack(:side=>:bottom)
  sep.pack(:side=>:bottom, :fill=>:x, :pady=>10)
  Tk.pack(labf1, labf2, :side=>:left, :padx=>4, :anchor=>:n)
end
_show_color(w)
# File ext/tk/sample/tkextlib/bwidget/tmpldlg.rb, line 152
def self._show_color(w)
  dlg = Tk::BWidget::SelectColor.new(w, :color=>w.background)
  color = dlg.menu([:below, w])
  unless color.empty?
    w.background(color)
  end
end
_show_fontdlg()
# File ext/tk/sample/tkextlib/bwidget/tmpldlg.rb, line 185
def self._show_fontdlg
  font = Tk::BWidget::SelectFont.new(:relative=>Tk.root,
                                     :font=>DemoVar.font).create
  DemoVar::Demo.update_font(font)
end
_show_msgdlg()
# File ext/tk/sample/tkextlib/bwidget/tmpldlg.rb, line 175
def self._show_msgdlg
  @@msgdlg.destroy if @@msgdlg
  @@msgdlg = Tk::BWidget::MessageDlg.new(:relative=>Tk.root,
                                         :message=>'Message for MessageBox',
                                         :type=>@@msg['type'],
                                         :icon=>@@msg['icon'],
                                         :buttons=>@@msg['buttons'])
  @@msgdlg.create
end
_show_passdlg()
# File ext/tk/sample/tkextlib/bwidget/tmpldlg.rb, line 217
def self._show_passdlg
  Tk::BWidget::PasswdDlg.new(:relative=>Tk.root).create
end
_show_progdlg()
# File ext/tk/sample/tkextlib/bwidget/tmpldlg.rb, line 191
def self._show_progdlg
  @@progmsg.value = "Compute in progress..."
  @@progval.value = 0

  @@progdlg = Tk::BWidget::ProgressDlg.new(:relative=>Tk.root,
                                           :title=>'Wait...',
                                           :type=>'infinite', :width=>20,
                                           :textvariable=>@@progmsg,
                                           :variable=>@@progval,
                                           :stop=>'Stop') {
    command(proc{self.destroy})
    create
  }
  _update_progdlg
end
_show_tmpldlg()
# File ext/tk/sample/tkextlib/bwidget/tmpldlg.rb, line 160
def self._show_tmpldlg
  dlg = Tk::BWidget::Dialog.new(:relative=>Tk.root, :modal=>:local,
                                :separator=>true, :title=>'Template dialog',
                                :side=>@@tmpl['side'],
                                :anchor=>@@tmpl['anchor'],
                                :default=>0, :cancel=>1)
  dlg.add('name'=>'ok')
  dlg.add('name'=>'cancel')
  TkMessage.new(dlg.get_frame, :text=>"Template\nDialog", :justify=>:center,
                :anchor=>:c, :width=>80).pack(:fill=>:both, :expand=>true,
                                              :padx=>100, :pady=>100)
  dlg.draw
  dlg.destroy
end
_stddlg(parent)
# File ext/tk/sample/tkextlib/bwidget/tmpldlg.rb, line 139
def self._stddlg(parent)
  Tk.pack(TkButton.new(parent, :text=>'Select a color '){|w|
            command(proc{DemoDialog._show_color(w)})
          },
          TkButton.new(parent, :text=>'Font selector dialog',
                       :command=>proc{_show_fontdlg}),
          TkButton.new(parent, :text=>'Progression dialog',
                       :command=>proc{_show_progdlg}),
          TkButton.new(parent, :text=>'Password dialog',
                       :command=>proc{_show_passdlg}),
          :side=>:left, :padx=>5, :anchor=>:w)
end
_tmpldlg(parent)
# File ext/tk/sample/tkextlib/bwidget/tmpldlg.rb, line 45
def self._tmpldlg(parent)
  @@tmpl['side'] = :bottom
  @@tmpl['anchor'] = :c

  labf1 = Tk::BWidget::LabelFrame.new(parent, :text=>'Button side',
                                      :side=>:top, :anchor=>:w,
                                      :relief=>:sunken, :borderwidth=>1)
  subf = labf1.get_frame
  Tk.pack(TkRadiobutton.new(subf, :text=>'Bottom', :value=>:bottom,
                            :variable=>@@tmpl.ref('side'), :anchor=>:w),
          TkRadiobutton.new(subf, :text=>'Left', :value=>:left,
                            :variable=>@@tmpl.ref('side'), :anchor=>:w),
          TkRadiobutton.new(subf, :text=>'Right', :value=>:right,
                            :variable=>@@tmpl.ref('side'), :anchor=>:w),
          TkRadiobutton.new(subf, :text=>'Top', :value=>:top,
                            :variable=>@@tmpl.ref('side'), :anchor=>:w),
          :fill=>:x, :anchor=>:w)

  labf2 = Tk::BWidget::LabelFrame.new(parent, :text=>'Button anchor',
                                      :side=>:top, :anchor=>:w,
                                      :relief=>:sunken, :borderwidth=>1)
  subf = labf2.get_frame
  Tk.pack(TkRadiobutton.new(subf, :text=>'North', :value=>:n,
                            :variable=>@@tmpl.ref('anchor'), :anchor=>:w),
          TkRadiobutton.new(subf, :text=>'West', :value=>:w,
                            :variable=>@@tmpl.ref('anchor'), :anchor=>:w),
          TkRadiobutton.new(subf, :text=>'East', :value=>:e,
                            :variable=>@@tmpl.ref('anchor'), :anchor=>:w),
          TkRadiobutton.new(subf, :text=>'South', :value=>:s,
                            :variable=>@@tmpl.ref('anchor'), :anchor=>:w),
          TkRadiobutton.new(subf, :text=>'Center', :value=>:c,
                            :variable=>@@tmpl.ref('anchor'), :anchor=>:w),
          :fill=>:x, :anchor=>:w)

  sep = Tk::BWidget::Separator.new(parent, :orient=>:horizontal)
  button = TkButton.new(parent, :text=>'Show', :command=>proc{_show_tmpldlg})

  button.pack(:side=>:bottom)
  sep.pack(:side=>:bottom, :fill=>:x, :pady=>10)
  Tk.pack(labf1, labf2, :side=>:left, :padx=>4, :anchor=>:n)
end
_update_progdlg()
# File ext/tk/sample/tkextlib/bwidget/tmpldlg.rb, line 207
def self._update_progdlg
  TkTimer.new(20, -1, proc{
                if @@progdlg && @@progdlg.winfo_exist?
                  @@progval.value = 2
                else
                  stop
                end
              }).start
end
create(nb)
# File ext/tk/sample/tkextlib/bwidget/tmpldlg.rb, line 17
def self.create(nb)
  frame = nb.insert('end', 'demoDlg', :text=>'Dialog')

  titf1 = Tk::BWidget::TitleFrame.new(frame, :text=>'Resources')
  titf2 = Tk::BWidget::TitleFrame.new(frame, :text=>'Template Dialog')
  titf3 = Tk::BWidget::TitleFrame.new(frame, :text=>'Message Dialog')
  titf4 = Tk::BWidget::TitleFrame.new(frame, :text=>'Other dialog')

  subf = titf1.get_frame
  cmd = proc{ TkOption.read_file(File.join(Tk::BWidget::LIBRARY, 'lang',
                                           @@resources.value + '.rc')) }
  Tk.pack(TkRadiobutton.new(subf, :text=>'English', :value=>'en',
                            :variable=>@@resources, :command=>cmd),
          TkRadiobutton.new(subf, :text=>'French', :value=>'fr',
                            :variable=>@@resources, :command=>cmd),
          TkRadiobutton.new(subf, :text=>'German', :value=>'de',
                            :variable=>@@resources, :command=>cmd),
          :side=>:left)

  _tmpldlg(titf2.get_frame)
  _msgdlg(titf3.get_frame)
  _stddlg(titf4.get_frame)

  titf1.pack(:fill=>:x, :pady=>2, :padx=>2)
  titf4.pack(:side=>:bottom, :fill=>:x, :pady=>2, :padx=>2)
  Tk.pack(titf2, titf3, :side=>:left, :padx=>2, :fill=>:both, :expand=>true)
end