diff options
Diffstat (limited to 'languages/ruby/app_templates/qtruby4app/qtruby4app.rb')
-rw-r--r-- | languages/ruby/app_templates/qtruby4app/qtruby4app.rb | 263 |
1 files changed, 0 insertions, 263 deletions
diff --git a/languages/ruby/app_templates/qtruby4app/qtruby4app.rb b/languages/ruby/app_templates/qtruby4app/qtruby4app.rb deleted file mode 100644 index c44e984a..00000000 --- a/languages/ruby/app_templates/qtruby4app/qtruby4app.rb +++ /dev/null @@ -1,263 +0,0 @@ - -class %{APPNAME} < Qt::MainWindow - - Q_SLOTS :newFile, - :open, - :save, - :saveAs, - :about, - :documentWasModified - - def initialize - super - @textEdit = Qt::TextEdit.new - setCentralWidget(@textEdit) - - createActions() - createMenus() - createToolBars() - createStatusBar() - - readSettings() - - connect(@textEdit.document, SIGNAL(:contentsChanged), - self, SLOT(:documentWasModified)) - - setCurrentFile("") - end - - def closeEvent(event) - if maybeSave - writeSettings - event.accept - else - event.ignore - end - end - - def newFile() - if maybeSave - @textEdit.clear - setCurrentFile("") - end - end - - def open() - if maybeSave - fileName = Qt::FileDialog.getOpenFileName(self) - if !fileName.nil? - loadFile(fileName) - end - end - end - - def save() - if @curFile.nil? - return saveAs() - else - return saveFile(@curFile); - end - end - - def saveAs() - fileName = Qt::FileDialog.getSaveFileName(self) - if fileName.nil? - return false - end - - return saveFile(fileName) - end - - def about() - Qt::MessageBox.about(self, tr("About Application"), - tr("The <b>Application</b> example demonstrates how to " \ - "write modern GUI applications using Qt, with a menu bar, " \ - "toolbars, and a status bar.")) - end - - def documentWasModified() - setWindowModified(true) - end - - def createActions() - @newAct = Qt::Action.new(Qt::Icon.new(":/filenew.xpm"), tr("&New"), self) - @newAct.shortcut = tr("Ctrl+N") - @newAct.statusTip = tr("Create a new file") - connect(@newAct, SIGNAL(:triggered), self, SLOT(:newFile)) - - @openAct = Qt::Action.new(Qt::Icon.new(":/fileopen.xpm"), tr("&Open..."), self) - @openAct.shortcut = tr("Ctrl+O") - @openAct.statusTip = tr("Open an existing file") - connect(@openAct, SIGNAL(:triggered), self, SLOT(:open)) - - @saveAct = Qt::Action.new(Qt::Icon.new(":/filesave.xpm"), tr("&Save"), self) - @saveAct.shortcut = tr("Ctrl+S") - @saveAct.statusTip = tr("Save the document to disk") - connect(@saveAct, SIGNAL(:triggered), self, SLOT(:save)) - - @saveAsAct = Qt::Action.new(tr("Save &As..."), self) - @saveAsAct.statusTip = tr("Save the document under a new name") - connect(@saveAsAct, SIGNAL(:triggered), self, SLOT(:saveAs)) - - @exitAct = Qt::Action.new(tr("E&xit"), self) - @exitAct.shortcut = tr("Ctrl+Q") - @exitAct.statusTip = tr("Exit the application") - connect(@exitAct, SIGNAL(:triggered), self, SLOT(:close)) - - @cutAct = Qt::Action.new(Qt::Icon.new(":/editcut.xpm"), tr("Cu&t"), self) - @cutAct.shortcut = tr("Ctrl+X") - @cutAct.statusTip = tr("Cut the current selection's contents to the " \ - "clipboard") - connect(@cutAct, SIGNAL(:triggered), @textEdit, SLOT(:cut)) - - @copyAct = Qt::Action.new(Qt::Icon.new(":/editcopy.xpm"), tr("&Copy"), self) - @copyAct.shortcut = tr("Ctrl+C") - @copyAct.statusTip = tr("Copy the current selection's contents to the " \ - "clipboard") - connect(@copyAct, SIGNAL(:triggered), @textEdit, SLOT(:copy)) - - @pasteAct = Qt::Action.new(Qt::Icon.new(":/editpaste.xpm"), tr("&Paste"), self) - @pasteAct.shortcut = tr("Ctrl+V") - @pasteAct.statusTip = tr("Paste the clipboard's contents into the current " \ - "selection") - connect(@pasteAct, SIGNAL(:triggered), @textEdit, SLOT(:paste)) - - @aboutAct = Qt::Action.new(tr("&About"), self) - @aboutAct.statusTip = tr("Show the application's About box") - connect(@aboutAct, SIGNAL(:triggered), self, SLOT(:about)) - - @aboutQtAct = Qt::Action.new(tr("About &Qt"), self) - @aboutQtAct.statusTip = tr("Show the Qt library's About box") - connect(@aboutQtAct, SIGNAL(:triggered), $tqApp, SLOT(:aboutQt)) - - @cutAct.setEnabled(false) - @copyAct.setEnabled(false) - connect(@textEdit, SIGNAL('copyAvailable(bool)'), - @cutAct, SLOT('setEnabled(bool)')) - connect(@textEdit, SIGNAL('copyAvailable(bool)'), - @copyAct, SLOT('setEnabled(bool)')) - end - - def createMenus() - @fileMenu = menuBar().addMenu(tr("&File")) - @fileMenu.addAction(@newAct) - @fileMenu.addAction(@openAct) - @fileMenu.addAction(@saveAct) - @fileMenu.addAction(@saveAsAct) - @fileMenu.addSeparator() - @fileMenu.addAction(@exitAct) - - @editMenu = menuBar.addMenu(tr("&Edit")) - @editMenu.addAction(@cutAct) - @editMenu.addAction(@copyAct) - @editMenu.addAction(@pasteAct) - - menuBar.addSeparator() - - @helpMenu = menuBar().addMenu(tr("&Help")) - @helpMenu.addAction(@aboutAct) - @helpMenu.addAction(@aboutQtAct) - end - - def createToolBars() - @fileToolBar = addToolBar(tr("File")) - @fileToolBar.addAction(@newAct) - @fileToolBar.addAction(@openAct) - @fileToolBar.addAction(@saveAct) - - @editToolBar = addToolBar(tr("Edit")) - @editToolBar.addAction(@cutAct) - @editToolBar.addAction(@copyAct) - @editToolBar.addAction(@pasteAct) - end - - def createStatusBar() - statusBar.showMessage(tr("Ready")) - end - - def readSettings() - settings = Qt::Settings.new("Trolltech", "Application Example") - pos = settings.value("pos", Qt::Variant.new(Qt::Point.new(200, 200))).toPoint() - size = settings.value("size", Qt::Variant.new(Qt::Size.new(400, 400))).toSize() - resize(size) - move(pos) - end - - def writeSettings() - settings = Qt::Settings.new("Trolltech", "Application Example") - settings.setValue("pos", Qt::Variant.new(pos())) - settings.setValue("size", Qt::Variant.new(size())) - end - - def maybeSave() - if @textEdit.document.modified? - ret = Qt::MessageBox.warning(self, tr("Application"), - tr("The document has been modified.\n" \ - "Do you want to save your changes?"), - Qt::MessageBox::Yes | Qt::MessageBox::Default, - Qt::MessageBox::No, - Qt::MessageBox::Cancel | Qt::MessageBox::Escape) - if ret == Qt::MessageBox::Yes - return save() - elsif ret == Qt::MessageBox::Cancel - return false - end - end - return true - end - - def loadFile(fileName) - file = Qt::File.new(fileName) - if !file.open(Qt::File::ReadOnly | Qt::File::Text) - Qt::MessageBox.warning( self, tr("Application"), - tr("Cannot read file %s\n%s." % [fileName, file.errorString]) ) - return - end - - inf = Qt::TextStream.new(file) - Qt::Application.overrideCursor = Qt::Cursor.new(Qt::WaitCursor) - @textEdit.setPlainText(inf.readAll) - Qt::Application.restoreOverrideCursor() - - setCurrentFile(fileName) - statusBar.showMessage(tr("File loaded"), 2000) - end - - def saveFile(fileName) - file = Qt::File.new(fileName) - if !file.open(Qt::File::WriteOnly | Qt::File::Text) - Qt::MessageBox.warning(self, tr("Application"), - tr("Cannot write file %s\n%s." % [fileName, file.errorString]) ) - return false - end - - outf = Qt::TextStream.new(file) - Qt::Application.overrideCursor = Qt::Cursor.new(Qt::WaitCursor) - outf << @textEdit.toPlainText() - Qt::Application.restoreOverrideCursor() - outf.flush - - setCurrentFile(fileName) - statusBar().showMessage(tr("File saved"), 2000) - return true - end - - def setCurrentFile(fileName) - @curFile = fileName; - @textEdit.document().modified = false - setWindowModified(false) - - shownName = "" - if @curFile.nil? - shownName = "untitled.txt" - else - shownName = strippedName(@curFile) - end - - setWindowTitle(tr("%s[*] - %s" % [shownName, tr("Application")])) - end - - def strippedName(fullFileName) - return Qt::FileInfo.new(fullFileName).fileName() - end -end
\ No newline at end of file |