summaryrefslogtreecommitdiffstats
path: root/languages/ruby/app_templates/qtruby4app/qtruby4app.rb
diff options
context:
space:
mode:
Diffstat (limited to 'languages/ruby/app_templates/qtruby4app/qtruby4app.rb')
-rw-r--r--languages/ruby/app_templates/qtruby4app/qtruby4app.rb263
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