Development/Tutorials/Plasma4/Ruby/SimplePasteAppletCompleted

From KDE TechBase
Revision as of 16:58, 22 December 2009 by Dennis p (talk | contribs) (This is the result the Ruby student gets when expanding SimplePasteApplet as instructed.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

This is what the completed code for the Simple Paste Applet looks like:

require 'plasma_applet'

module RubyTest

 class Main < PlasmaScripting::Applet
   def initialize parent
     super parent
   end

   def init
     set_minimum_size 150, 150

     layout = Qt::GraphicsLinearLayout.new Qt::Vertical, self
     self.layout = layout
     
     # Three items being laid out:
     
     label = Plasma::Label.new self
     label.text = 'This plasmoid will copy the text you enter below to the clipboard.'
     layout.add_item label
     
     line_edit = Plasma::LineEdit.new self
     begin # only possible in Plasma 4.3 and up 
       line_edit.clear_button_shown = true
     rescue
     end
     layout.add_item line_edit
     
     button = Plasma::PushButton.new self
     button.text = 'Copy to clipboard'
     layout.add_item button
     
     # The layout is done now comes the action:
     
     button.connect(SIGNAL(:clicked)) do
       Qt::Application.clipboard.text = line_edit.text
     end
     
     line_edit.connect(SIGNAL(:returnPressed)) do
       Qt::Application.clipboard.text = line_edit.text
     end
   end
   
 end

end