Main Page | Modules | Namespace List | Class Hierarchy | Class List | Namespace Members | Class Members

VIEW::PyWidget Class Reference
[Modular Widgets]

Python Widget This class is a Window for a Python interpreter interface. More...

#include <pyWidget.h>

Inheritance diagram for VIEW::PyWidget:

VIEW::DockWidget VIEW::ModularWidget Embeddable VIEW::ConnectionObject List of all members.

ModularWidget related methods

virtual void initializeWidget (MainControl &main_control) throw ()
 Setup the menu entries.
virtual void finalizeWidget (MainControl &main_control) throw ()
 Remove menu entries.
void initializePreferencesTab (Preferences &preferences) throw ()
 Initialize a preferences tab for the widget (if needed).
void finalizePreferencesTab (Preferences &preferences) throw ()
 Remove the preferences tab.
virtual void applyPreferences () throw ()
 Apply the preferences of the specific tab.
virtual void scriptDialog (bool run=false)
 Open a dialog to select a script.
bool toAbortScript () throw ()
void map (String modifier, String key, String command, String comment="")
 Map a key to a command Modifier can be: "", Ctrl, Shift Key should be F2 - F12.
void unmap (String modifier, String key)
 see above
void insertHotkey (const Hotkey &hotkey) throw ()
void removeHotkey (const Hotkey &hotkey) throw ()
void reactTo (const QKeyEvent &e) throw ()
virtual bool canHandle (const String &fileformat) const
 Test if this ModularWidget can handle a given file format.
virtual bool openFile (const String &filename)
 Tell this ModularWidget to open a given file.
bool openFile (const String &filename, bool run, bool is_current=false) throw ()
 Run a Python script from a given file.
bool runString (String command)
String getCurrentLine () const
void dump (std::ostream &s, Size depth) const throw ()
 Internal state dump.
void showClassDocu (String classname, String member)
virtual void fetchPreferences (INIFile &inifile) throw ()
 Load settings from an INIFile.
virtual void writePreferences (INIFile &inifile) throw ()
 Write settings to an INIFile.
void checkMenu (MainControl &main_control) throw ()
 Menu checking method.
QString getCurrentScript ()
bool isInDirectMode () const
void showEditContextMenu (const QPoint &point)
void showContextMenu (const QPoint &point)
void showCompletion ()
void clear () throw ()
 Explicit default initialization.
void exportHistory ()
void abortScript ()
void showDocumentation ()
bool runCurrentScript ()
void loadScript ()
void execScript ()
void saveScript ()
void clearScript ()
virtual void hotkeyItem ()
virtual void modifyHotkeys ()
void appendText (const String &text, bool output=false, bool state_message=false)
bool getMembers (const String &classname, QStringList &sl, const String &prefix)
bool getClassAndMember_ (String toc)
void setError_ (bool state)
virtual void startInterpreter ()
 Start the interpreter.
virtual void paste ()
bool parseLine_ (String line)
 Parse a and execute a given string. If silent_ is set to true, no prompts are being printed.
void appendToHistory_ (const String &line)
void newPrompt_ ()
 Print prompt.
bool testMultilineStart_ (const String &line)
const char * getPrompt_ () const
bool storeScript_ ()
String runCommand_ (const String &command, bool &state)
void appendText_ (QTextEdit *te, String text)
void retrieveHistoryLine_ (Position index)
 Replace the line the cursor is in with a line from the history.
virtual void contentsDragEnterEvent (QDragEnterEvent *e)
virtual void contentsDropEvent (QDropEvent *e)
bool keyPressed (QKeyEvent *e)
void createMenuHelpEntry_ (QMenu *menu, QTextEdit *text_edit, const QPoint &point)
void findError_ (String result)
String getCurrentWord_ (QTextCursor &text_cursor)
QComboBox * getCompletionBox_ ()
List< Hotkey >::Iterator findKey_ (Hotkey &hotkey)
QTextEdit * text_edit_
QTextEdit * script_output_
MyTextEdit * script_edit_
QTabWidget * tab_widget_
PythonHighlighter highlighter_1_
PythonHighlighter highlighter_2_
MyLineEdit * line_edit_
QComboBox * combo_box_
QComboBox * editor_combo_box_
List< Hotkey > hotkeys_
String working_dir_
bool valid_
bool started_startup_script_
Preferencespreferences_
Position current_line_
bool multi_line_mode_
Size multi_lines_
String multi_line_text_
vector< Stringhistory_
vector< bool > results_
Position history_position_
String startup_script_
PythonSettingspython_settings_
RunPythonThread * thread_
bool stop_script_
Size complete_prefix_
String class_
String member_
Position intend_
bool running_
bool silent_
bool full_silent_
bool script_mode_
String current_script_
virtual bool returnPressed ()
virtual bool completionSelected_ ()
virtual void showHelp_ ()
virtual void printCursorPosition_ ()
virtual void createScript_ ()
virtual void clearHistory_ ()

Public Member Functions

Constructors and Destructors
 PyWidget (QWidget *parent=0, const char *name=0) throw ()
 Standard constructor.
 PyWidget (const PyWidget &p) throw ()
 only needed for Pyhon Interface
bool isValid () const throw ()
 Is full Python support available?

Friends

class MyLineEdit

Detailed Description

Python Widget This class is a Window for a Python interpreter interface.

So it is possible to access all data in the running application in realtime with the script language. PyWidget also has the capablities to run a Python script from a file at startup, or on demand from the user.


Constructor & Destructor Documentation

VIEW::PyWidget::PyWidget QWidget *  parent = 0,
const char *  name = 0
throw ()
 

Standard constructor.

If the widget is part of a BALL MainControl widget, it inserts a menu entry Tools|Restart Python into the menu bar.

Parameters:
parent the parent widget
name the widget name


Member Function Documentation

virtual void VIEW::PyWidget::applyPreferences  )  throw () [virtual]
 

Apply the preferences of the specific tab.

In this method the widget can extract any changed values from its preferences tab (if required). This method is called automatically by the applyPreferencesTab from the MainControl object if the apply button in the Preferences dialog is pressed.

Parameters:
preferences the Preferences dialog of the MainControl
See also:
initializePreferencesTab

finalizePreferencesTab

applyPreferencesTab

Reimplemented from VIEW::ModularWidget.

virtual bool VIEW::PyWidget::canHandle const String fileformat  )  const [virtual]
 

Test if this ModularWidget can handle a given file format.

(Overloaded from ModularWidget)

Parameters:
fileform short string with the file extension (e.g. PDB)
See also:
openFile

Reimplemented from VIEW::ModularWidget.

void VIEW::PyWidget::checkMenu MainControl main_control  )  throw () [virtual]
 

Menu checking method.

This method is called MainControl::checkMenus before a popup menu is shown. It should be used to update the state of menu entries (e.g. disable or enable entries).

Parameters:
main_control the MainControl object whose menus should be checked

Reimplemented from VIEW::ModularWidget.

void VIEW::PyWidget::clear  )  throw () [virtual, slot]
 

Explicit default initialization.

Currently does nothing.

Reimplemented from VIEW::ModularWidget.

void VIEW::PyWidget::dump std::ostream &  s,
Size  depth
const throw () [virtual]
 

Internal state dump.

Dump the current internal state of this mainControl to the output ostream s with dumping depth depth. Calls ConnectionObject::dump.

Parameters:
s output stream where to output the internal state
depth the dumping depth

Reimplemented from VIEW::ModularWidget.

virtual void VIEW::PyWidget::fetchPreferences INIFile inifile  )  throw () [virtual]
 

Load settings from an INIFile.

See also:
ModularWidget::fetchPreferences

Reimplemented from VIEW::DockWidget.

void VIEW::PyWidget::finalizePreferencesTab Preferences preferences  )  throw () [virtual]
 

Remove the preferences tab.

This method can remove a preferences widget (if created in initializePreferencesTab) from the Preferences dialog of the MainControl. This method is called automatically by MainControl::aboutToExit() at the end of the application.

Parameters:
preferences the Preferences dialog of the MainControl

Reimplemented from VIEW::ModularWidget.

virtual void VIEW::PyWidget::finalizeWidget MainControl main_control  )  throw () [virtual]
 

Remove menu entries.

Reimplemented from VIEW::ModularWidget.

void VIEW::PyWidget::initializePreferencesTab Preferences preferences  )  throw () [virtual]
 

Initialize a preferences tab for the widget (if needed).

This method can be used to create preferences widgets that can be inserted into the Preferences dialog with the method insertTab. This method is called automatically by MainControl::show at the start of the application.

Parameters:
preferences the Preferences dialog of the MainControl

Reimplemented from VIEW::ModularWidget.

virtual void VIEW::PyWidget::initializeWidget MainControl main_control  )  throw () [virtual]
 

Setup the menu entries.

Reimplemented from VIEW::DockWidget.

void VIEW::PyWidget::newPrompt_  )  [protected]
 

Print prompt.

Determine the correct type of prompt and append it to the current text. The cursor is placed after the prompt and textChanged is emitted.

bool VIEW::PyWidget::openFile const String filename,
bool  run,
bool  is_current = false
throw ()
 

Run a Python script from a given file.

Parameters:
is_current states wheter this file is currently loaded in the editor

virtual bool VIEW::PyWidget::openFile const String filename  )  [virtual]
 

Tell this ModularWidget to open a given file.

(Overloaded from ModularWidget)

See also:
canHandle

Reimplemented from VIEW::ModularWidget.

void VIEW::PyWidget::retrieveHistoryLine_ Position  index  )  [protected]
 

Replace the line the cursor is in with a line from the history.

Used to display text from the history (cursor down/up). The previous content of the line is stored in current_line_ if this is the first time the history function is used for this specific line.

virtual void VIEW::PyWidget::startInterpreter  )  [protected, virtual]
 

Start the interpreter.

This method initializes the interpreter if it is not yet running. An already running interpreter is reinitialized. This method calls PyInitialize() to create an interpreter.

virtual void VIEW::PyWidget::writePreferences INIFile inifile  )  throw () [virtual]
 

Write settings to an INIFile.

See also:
ModularWidget::writePreferences

Reimplemented from VIEW::DockWidget.