You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdevelop/languages/ruby/app_templates/kxt/app.rb

95 lines
3.1 KiB

=begin
This class serves as the main window for %{APPNAME}. It handles the
menus, toolbars, and status bars.
@short Main window class
@author %{AUTHOR} <%{EMAIL}>
@version %{VERSION}
=end
class %{APPNAMESC} < KDE::MainWindow
Q_SLOTS 'fileNew()',
'optionsPreferences()',
'newToolbarConfig()',
'changeStatusbar(const QString&)',
'changeCaption(const QString&)'
def initialize()
super( nil, "%{APPNAMESC}" )
Settings.instance.readConfig
@view = %{APPNAMESC}View.new(self)
@printer = nil
# accept dnd
setAcceptDrops(true)
# tell the KDE::MainWindow that this is indeed the main widget
setCentralWidget(@view)
# then, setup our actions
setupActions()
# and a status bar
statusBar().show()
# Apply the create the main window and ask the mainwindow to
# automatically save settings if changed: window size, toolbar
# position, icon size, etc. Also to add actions for the statusbar
# toolbar, and keybindings if necessary.
setupGUI();
# allow the view to change the statusbar and caption
connect(@view, SIGNAL('signalChangeStatusbar(const QString&)'),
self, SLOT('changeStatusbar(const QString&)'))
connect(@view, SIGNAL('signalChangeCaption(const QString&)'),
self, SLOT('changeCaption(const QString&)'))
end
def setupActions()
KDE::StdAction.openNew(self, SLOT('fileNew()'), actionCollection())
KDE::StdAction.quit($kapp, SLOT('quit()'), actionCollection())
KDE::StdAction.preferences(self, SLOT('optionsPreferences()'), actionCollection())
# this doesn't do anything useful. it's just here to illustrate
# how to insert a custom menu and menu item
custom = KDE::Action.new(i18n("Swi&tch Colors"), KDE::Shortcut.new(),
@view, SLOT('switchColors()'),
actionCollection(), "switch_action")
end
def fileNew()
# This slot is called whenever the File.New menu is selected,
# the New shortcut is pressed (usually CTRL+N) or the New toolbar
# button is clicked
# create a new window
%{APPNAMESC}.new.show()
end
def optionsPreferences()
# The preference dialog is derived from prefs-base.ui which is subclassed into Prefs
#
# compare the names of the widgets in the .ui file
# to the names of the variables in the .kcfg file
dialog = KDE::ConfigDialog.new(self, "settings", Settings.instance, KDE::DialogBase::Swallow)
dialog.addPage(Prefs.new(), i18n("General"), "package_settings")
connect(dialog, SIGNAL('settingsChanged()'), @view, SLOT('settingsChanged()'))
dialog.show()
end
def changeStatusbar(text)
# display the text on the statusbar
statusBar().message(text)
end
def changeCaption(text)
# display the text on the caption
setCaption(text)
end
end