diff options
Diffstat (limited to 'languages/ruby/app_templates/kapp/appview.rb')
-rw-r--r-- | languages/ruby/app_templates/kapp/appview.rb | 103 |
1 files changed, 0 insertions, 103 deletions
diff --git a/languages/ruby/app_templates/kapp/appview.rb b/languages/ruby/app_templates/kapp/appview.rb deleted file mode 100644 index e7aabe3c..00000000 --- a/languages/ruby/app_templates/kapp/appview.rb +++ /dev/null @@ -1,103 +0,0 @@ - -=begin - This is the main view class for %{APPNAME}. Most of the non-menu, - non-toolbar, and non-statusbar (e.g., non frame) GUI code should go - here. - - This %{APPNAMELC} uses an HTML component as an example. - - @short Main view - @author %{AUTHOR} <%{EMAIL}> - @version %{VERSION} -=end -class %{APPNAMESC}View < Qt::Widget - - # - # Use this signal to change the content of the statusbar - # - Q_SIGNALS 'signalChangeStatusbar(const QString&)' - - # - # Use this signal to change the content of the caption - # - Q_SIGNALS 'signalChangeCaption(const QString&)' - - Q_SLOTS 'slotOnURL(const QString&)', - 'slotSetTitle(const QString&)' - - def initialize(parent) - super(parent) - - # keep a reference to the DCOP Interface so it doesn't get gc'd - @dcop = %{APPNAMESC}Iface.new(self) - - # setup our layout manager to automatically add our widgets - top_layout = Qt::HBoxLayout.new(self) - top_layout.setAutoAdd(true) - - # we want to look for all components that satisfy our needs. the - # trader will actually search through *all* registered KDE - # applications and components -- not just KParts. So we have to - # specify two things: a service type and a constraint - # - # the service type is like a mime type. we say that we want all - # applications and components that can handle HTML -- 'text/html' - # - # however, by itself, this will return such things as Netscape.. - # not what we wanted. so we constrain it by saying that the - # string 'KParts/ReadOnlyPart' must be found in the ServiceTypes - # field. with this, only components of the type we want will be - # returned. - offers = KDE::Trader.self().query("text/html", "'KParts/ReadOnlyPart' in ServiceTypes") - - factory = nil - # in theory, we only care about the first one.. but let's try all - # offers just in when the first can't be loaded for some reason - offers.each do |ptr| - # we now know that our offer can handle HTML and is a part. - # since it is a part, it must also have a library... let's try to - # load that now - factory = KDE::LibLoader.self().factory( ptr.library() ) - if ! factory.nil? - @html = factory.create(self, ptr.name(), "KParts::ReadOnlyPart") - break - end - end - - # if our factory is invalid, then we never found our component - # and we might as well just exit now - if factory.nil? - KDE::MessageBox.error(self, i18n("Could not find a suitable HTML component")) - return - end - - connect(@html, SIGNAL('setWindowCaption(const QString&)'), - self, SLOT('slotSetTitle(const QString&)')) - connect(@html, SIGNAL('setStatusBarText(const QString&)'), - self, SLOT('slotOnURL(const QString&)')) - - end - - - def print(p, height, width) - # do the actual printing, here - # p.drawText(etc..) - end - - def currentURL() - return @html.url().url() - end - - def openURL(url) - @html.openURL(KDE::URL.new(url)) - end - - def slotOnURL(url) - emit signalChangeStatusbar(url) - end - - def slotSetTitle(title) - emit signalChangeCaption(title) - end - -end |