Difference between revisions of "ClipBoard GUI"

From OpenCircuits
Jump to navigation Jump to search
(Created page with "= Overview = The GUI or graphical user interface is the key to using the SmartTerminal. In addition, but not discussed here, you can use the command line and the parameter fi...")
 
 
(24 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
= Overview =
 
= Overview =
The GUI or graphical user interface is the key to using the SmartTerminalIn addition, but not discussed here, you can use the command line and the parameter file ( see: [[Smart Terminal Parameter Examples]] ). This page is the documentation for the GUI.
+
The GUI or graphical user interface is the key to using the Smart ClipboardRoot doucmentation at: '''[[Python Smart ClipBoard]]''' This page is the documentation for the GUI.
 +
 
 +
A recent enhancement to the application is to give several different layouts of the GUI, this documentation is only for the default GUI, which is also in flux.  Be flexible, this info. is still generally of use.
  
 
= Screen Shot =
 
= Screen Shot =
Line 7: Line 9:
  
  
[[File:ScreenShot 1.png | 1000x2500px]]
+
[[File:Clipboard creen shot.png | 1000x2500px]]
  
 
<!-----------
 
<!-----------
Line 20: Line 22:
 
------------->
 
------------->
  
= What Does What: The Controls =
+
= What Does What =
 +
 
 +
== General ==
 +
 
 +
There are 4 major areas of functionality.  Read this guide first then get more information on each at:
  
Control is mostly through buttons, sometimes supplemented by text fields.  Outside of the GUI there is also a parameter file which controls start up and item like communications setting.  The large rectangle at the bottom left, a text area, is where data sent, received, and some information messages are displayed.  It is referred to as the receive area.
+
* [[Clipboard Transformations]] 
 +
* [[Clipboard Snippets]] 
 +
* [[Clipboard Snips]] 
 +
* [[Clipboard Commands]] 
  
Working from top to bottom:
 
  
== At the Top ==
+
== The Controls ==
* <Window title> Program name and some additional info including version, mode,  and the name of any "extra" parameter file ( see [[Smart Terminal Parameter Examples]] ).
 
* <ID Color Band >The green band under the title is an optional component, its height and color is set in the parameter file.  It is normally useful only if you are running 2 instances of the terminal and want a quick way to tell them apart.
 
  
==Top Row of Labels ==
+
Control is mostly through buttons.  There are two lists at the bottom, clicking on one puts a "snippet" in the clipboard, clicking on the other opens a "snip file" in your system's editor. Outside of the GUI there is also a parameter file which controls start up, your preferred system editor, and many other setting. 
  
* <Double Row of Labels, Starting with the Communications>> >  Managed by the parameter file ( see [[Smart Terminal Parameter Examples]] ).
+
Working from top to bottom:
**<Port:xxx> Status of comm port, open, closed or failed to open.
 
**<Type:xxx> Type of comm port, so far only RS232
 
**<PortID:xxx> Name of port used by the operating system.  This may be changed if some of the "auto open" features are used.
 
**<Baud:xxx>    Baud Rate of comm port.
 
**<StopBits:xxx> Number of stop bits for the comm port
 
**<Parity:xxx>  Parity of comm port.
 
  
* <Additional Labels in First Row, Starting with the Database>> >  Labels show status of the database connection ( not always used ).  Managed by the parameter file.
+
=== At the Top ===
**<Status:xxx> Open or closed connection to the database
+
* <Window title> Program name and some additional info including version, mode, and the name of any "extra" parameter file ( see [[Smart Terminal Parameter Examples]] ).
**<ConnectName:xxx> Name given to the connection in the parameter file.
+
* <ID Color Band >The red band under the title is an optional component, its height and color is set in the parameter file. It is normally useful only if you are running 2 similar looking applications and want a quick way to tell them apart.
**<Host:xxx>    Host name used by the database
 
**<DB:xxx>      Database name
 
**<User:xxx>    Database user
 
  
== Next Button Row ==
+
=== Top Button Row ===
  
* <Open Button> Opens the communications port ( if configuration in parameter file(s) allow ) Parameters show to the right, port status to right of button.
 
* <Close Button> Close the communications port. No error if it is not open. Parameters show to the right, port status to right of button.
 
* <Parameters to right of open and close buttons> Parameters from the parameter file(s), not editable on the GUI.
 
 
* <Edit Log> opens an editor on the system ( needs to be configured in parameter file self.ex_editor = <name of executable or link> ) to view the python logging file for the app.
 
* <Edit Log> opens an editor on the system ( needs to be configured in parameter file self.ex_editor = <name of executable or link> ) to view the python logging file for the app.
 
* <Edit Parms > opens an editor on the system to edit the parameters.py file. See <Edit Log>.
 
* <Edit Parms > opens an editor on the system to edit the parameters.py file. See <Edit Log>.
* <Edit Parms X > opens an editor on the system to edit the extended parameter file if used on the command line. Not visible if no extended parameter file used. See <Edit Log>.
+
*<Edit Snippets> ...
* <SendParms> takes the contents of the send buttons and displays them in the receive area in the same format as required by the parameter file to reproduce the current configuration.
+
*<Edit Snip Files> ...
* <Ports> List the available ports in the receive area, working under windows until upgraded from 7 to 10, Linux ??
 
 
* <Restart> Restarts the application ( usually fast ) using new values ( if any ) in the parameter file(s).
 
* <Restart> Restarts the application ( usually fast ) using new values ( if any ) in the parameter file(s).
 +
* <Help> Will open some sort of help file, text, pdf, or url, depending on configuration in parameter file.
 +
* <About> More or less standard help box.
 
* <Test> May not be present, for debugging, not generally useful or predictable, you would need to look through the code to see what it might be doing, press at your own risk.
 
* <Test> May not be present, for debugging, not generally useful or predictable, you would need to look through the code to see what it might be doing, press at your own risk.
  
== Buttons from Extensions ==
+
=== Command Buttons ===
If you have extended the terminal with an xxx_processing module, its GUI will appear here.  In this screen shot we see the GUI from the greenhouse extension ( note this is the mode in the window title ).  The actual labels are something still in flux, the functions are more fixed.
+
There is both a button and a check box, lets deal wit the buttons first ( note there may be one or more buttons depending on my current thinking about the application )
 +
 
 +
* <*cmd> look for a *>command in the text and execute if found. ( if none appears on line one it stops command processing ) For more information on what is a command see '''[[Clipboard Commands]]'''
 +
 
 +
Under each button is a check box.  If checked the command action will be run each time the clipboard text changes.  See '''[[Clipboard Commands]]'''
 +
 
 +
=== Transformation Buttons ===
 +
 
 +
The info here is just a summary, find more detail on Transformations at [[Clipboard Transformations]]
 +
 
 +
There are both a buttons and a check box for each button, lets deal wit the buttons first.
 +
* <off> Do not do anything to clipboard text.
 +
* <unformatted> Remove all formatting from text in the clipboard ( like rich text or html ) this gives you straight text.
 +
* <CAP> Capitalize all text ( mostly for demo purposes, but you may find a use ).
 +
* <lower> lower case all text ( mostly for demo purposes, but you may find a use ).
 +
* <No WS> remove all white space.  Result: one line with no white space. ( perhaps for removing spaces from file names )
 +
* <less WS > all white space to spaces and multiple white space to a single spaceResult: one line with at most single spaces
 +
* <Indent> ...
 +
* <*lines> ...
 +
* <URL to wiki> ...
 +
* <Add *>url> ...
 +
* <Add *Shell> ...
 +
* <comma, sep> ...
 +
* <undent> ...
 +
* <AltLine Sourt 0 > ...
 +
* <Sage> ...
 +
* <Wiki File Upload > ...
 +
* <Test> ...
 +
* < > ...
 +
* < > ...
 +
* < > ...
  
** <Helper: Find and Monitor Arduino > starts auto run mode of terminal if so configured, this is still alpha and in any case will not have much success unless connected to a compatible serial device ( typically an Arduino ).
+
Under each button is a radio box. If selected the transformation will be automatically applied each time the clipboard text changes.
** <Helper: Find Arduino > T
 
** <Interrupt Helper> stops auto run mode of terminal. Also still alpha, but generally harmless.
 
  
== Send Area ==
+
=== Snippets ===
  
*<Send Buttons> and <Text Entry> to right of each button. Each button sends the text to the right of the button, text is not erased after transmission.  Lots of parameters in the parameter file determine the details:
+
The info here is just a summary, find more detail on Snippetsat [[Clipboard Snippets]]
** Number of send buttons
 
** Text of each button ( default Send )
 
** Text of the data to be send may or may not be protected based on parameter settings
 
The setup shown here is customized for a particular arduino program, the greenhouse monitor.
 
  
== Receive Area ==
+
A line here is the name you can give to a bit of text called a "snippet".  Click on the name and the corresponding text is placed in your clipboard.
 +
Configured by way of a file with the names and snippets, and a setting in parameters.py that names that file.  You can easily change between sets of snippets.
  
* <Column of Buttons and Text Panel>  The Panel shows terminal activity and some other info ( like Ports above ) the buttons act on this data in some way.  You can type in the text panel, to no particular effect, perhaps could use this to make notes.  Text is partly erased from time to time depending on settings in parameter file(s)  The data in the recieve area falls into three classes, each with a unique prefix ( which is set in the parameters.py file ):
+
== Snip Files ==
** Sent:        ">>> "
 
** Received:    "<<< "
 
** Information:     "!!! "
 
  
 +
The info here is just a summary, find more detail on Snips at [[Clipboard Snips]]
  
* Other controls:
+
A line here is the name you can give to a file called a snip file ( this may or may not be the actual name of the file )Click on the name and the corresponding text file is opened in your editor.
** <Clear> Clears text panel.
+
Configured by way of a file with the names and file names, a set of snip files, and a setting in parameters.pyYou can easily change between sets of snip files.
** <Copy Sel> Copies all selected textUse the mouse to select text.
 
** <Copy All> Copies all text selected or not.
 
** <A Scroll> When checked text panel automatically scrolls to the most recent data, else notThis can help you read earlier material when still receiving new data.
 
  
[[Category:SmartTerminal]] [[Category:Arduino/RaspberryPi]][[category:Python]]
+
[[Category:ClipBoard]] [[category:Python]] [[category:Python Projects]]

Latest revision as of 07:35, 31 March 2021

Overview[edit]

The GUI or graphical user interface is the key to using the Smart Clipboard. Root doucmentation at: Python Smart ClipBoard This page is the documentation for the GUI.

A recent enhancement to the application is to give several different layouts of the GUI, this documentation is only for the default GUI, which is also in flux. Be flexible, this info. is still generally of use.

Screen Shot[edit]

This is what it looks like, details on each part below. Still working on it, mostly to clean up the details. Note that this screen shot was taken during a debugging session and has some artifacts that will soon disappear, then a new screen shot will be placed here.


Clipboard creen shot.png


What Does What[edit]

General[edit]

There are 4 major areas of functionality. Read this guide first then get more information on each at:


The Controls[edit]

Control is mostly through buttons. There are two lists at the bottom, clicking on one puts a "snippet" in the clipboard, clicking on the other opens a "snip file" in your system's editor. Outside of the GUI there is also a parameter file which controls start up, your preferred system editor, and many other setting.

Working from top to bottom:

At the Top[edit]

  • <Window title> Program name and some additional info including version, mode, and the name of any "extra" parameter file ( see Smart Terminal Parameter Examples ).
  • <ID Color Band >The red band under the title is an optional component, its height and color is set in the parameter file. It is normally useful only if you are running 2 similar looking applications and want a quick way to tell them apart.

Top Button Row[edit]

  • <Edit Log> opens an editor on the system ( needs to be configured in parameter file self.ex_editor = <name of executable or link> ) to view the python logging file for the app.
  • <Edit Parms > opens an editor on the system to edit the parameters.py file. See <Edit Log>.
  • <Edit Snippets> ...
  • <Edit Snip Files> ...
  • <Restart> Restarts the application ( usually fast ) using new values ( if any ) in the parameter file(s).
  • <Help> Will open some sort of help file, text, pdf, or url, depending on configuration in parameter file.
  • <About> More or less standard help box.
  • <Test> May not be present, for debugging, not generally useful or predictable, you would need to look through the code to see what it might be doing, press at your own risk.

Command Buttons[edit]

There is both a button and a check box, lets deal wit the buttons first ( note there may be one or more buttons depending on my current thinking about the application )

  • <*cmd> look for a *>command in the text and execute if found. ( if none appears on line one it stops command processing ) For more information on what is a command see Clipboard Commands

Under each button is a check box. If checked the command action will be run each time the clipboard text changes. See Clipboard Commands

Transformation Buttons[edit]

The info here is just a summary, find more detail on Transformations at Clipboard Transformations

There are both a buttons and a check box for each button, lets deal wit the buttons first.

  • <off> Do not do anything to clipboard text.
  • <unformatted> Remove all formatting from text in the clipboard ( like rich text or html ) this gives you straight text.
  • <CAP> Capitalize all text ( mostly for demo purposes, but you may find a use ).
  • <lower> lower case all text ( mostly for demo purposes, but you may find a use ).
  • <No WS> remove all white space. Result: one line with no white space. ( perhaps for removing spaces from file names )
  • <less WS > all white space to spaces and multiple white space to a single space. Result: one line with at most single spaces
  • <Indent> ...
  • <*lines> ...
  • <URL to wiki> ...
  • <Add *>url> ...
  • <Add *Shell> ...
  • <comma, sep> ...
  • <undent> ...
  • <AltLine Sourt 0 > ...
  • <Sage> ...
  • <Wiki File Upload > ...
  • <Test> ...
  • < > ...
  • < > ...
  • < > ...

Under each button is a radio box. If selected the transformation will be automatically applied each time the clipboard text changes.

Snippets[edit]

The info here is just a summary, find more detail on Snippetsat Clipboard Snippets

A line here is the name you can give to a bit of text called a "snippet". Click on the name and the corresponding text is placed in your clipboard. Configured by way of a file with the names and snippets, and a setting in parameters.py that names that file. You can easily change between sets of snippets.

Snip Files[edit]

The info here is just a summary, find more detail on Snips at Clipboard Snips

A line here is the name you can give to a file called a snip file ( this may or may not be the actual name of the file ). Click on the name and the corresponding text file is opened in your editor. Configured by way of a file with the names and file names, a set of snip files, and a setting in parameters.py. You can easily change between sets of snip files.