BALL::VIEW::PyWidget Class Reference
[Modular Widgets]

#include <BALL/VIEW/WIDGETS/pyWidget.h>

Inheritance diagram for BALL::VIEW::PyWidget:
BALL::VIEW::DockWidget QDockWidget BALL::VIEW::ModularWidget BALL::Embeddable BALL::VIEW::ConnectionObject

List of all members.


Classes

class  MyLineEdit
class  MyTextEdit

Public Member Functions

Constructors and Destructors
 PyWidget (QWidget *parent=0, const char *name=0)
 PyWidget (const PyWidget &p)
 

only needed for Pyhon Interface


 ~PyWidget ()
bool isValid () const
 

Is full Python support available?



Friends

class MyLineEdit

ModularWidget related methods

QTextEdittext_edit_
QTextEditscript_output_
MyTextEditscript_edit_
QTabWidget * tab_widget_
PythonHighlighter highlighter_1_
PythonHighlighter highlighter_2_
MyLineEditline_edit_
QComboBox * combo_box_
QComboBox * editor_combo_box_
List< Hotkeyhotkeys_
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< boolresults_
Position history_position_
String startup_script_
PythonSettingspython_settings_
RunPythonThreadthread_
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 void initializeWidget (MainControl &main_control)
virtual void finalizeWidget (MainControl &main_control)
void initializePreferencesTab (Preferences &preferences)
void finalizePreferencesTab (Preferences &preferences)
virtual void applyPreferences ()
virtual void scriptDialog (bool run=false)
 

Open a dialog to select a script.


bool toAbortScript ()
void map (String modifier, String key, String command, String comment="")
void unmap (String modifier, String key)
 

see above


void insertHotkey (const Hotkey &hotkey)
void removeHotkey (const Hotkey &hotkey)
void reactTo (const QKeyEvent &e)
virtual bool canHandle (const String &fileformat) const
virtual bool openFile (const String &filename)
bool openFile (const String &filename, bool run, bool is_current=false)
bool runString (String command)
String getCurrentLine () const
void dump (std::ostream &s, Size depth) const
void showClassDocu (String classname, String member)
virtual void fetchPreferences (INIFile &inifile)
virtual void writePreferences (INIFile &inifile)
void checkMenu (MainControl &main_control)
QString getCurrentScript ()
bool isInDirectMode () const
void showEditContextMenu (const QPoint &point)
void showContextMenu (const QPoint &point)
void showCompletion ()
void clear ()
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)
virtual bool returnPressed ()
virtual bool completionSelected_ ()
virtual void showHelp_ ()
virtual void printCursorPosition_ ()
virtual void createScript_ ()
virtual void clearHistory_ ()
bool getClassAndMember_ (String toc)
void setError_ (bool state)
virtual void startInterpreter ()
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_ ()
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)
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)

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

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

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
BALL::VIEW::PyWidget::PyWidget ( const PyWidget p  ) 

only needed for Pyhon Interface

BALL::VIEW::PyWidget::~PyWidget (  ) 

Member Function Documentation

void BALL::VIEW::PyWidget::abortScript (  )  [slot]
void BALL::VIEW::PyWidget::appendText ( const String text,
bool  output = false,
bool  state_message = false 
) [slot]
void BALL::VIEW::PyWidget::appendText_ ( QTextEdit te,
String  text 
) [protected]
void BALL::VIEW::PyWidget::appendToHistory_ ( const String line  )  [protected]
virtual void BALL::VIEW::PyWidget::applyPreferences (  )  [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 BALL::VIEW::ModularWidget.

virtual bool BALL::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 BALL::VIEW::ModularWidget.

void BALL::VIEW::PyWidget::checkMenu ( MainControl main_control  )  [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 BALL::VIEW::ModularWidget.

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

Explicit default initialization. Currently does nothing.

Reimplemented from BALL::VIEW::ModularWidget.

virtual void BALL::VIEW::PyWidget::clearHistory_ (  )  [protected, virtual, slot]
void BALL::VIEW::PyWidget::clearScript (  )  [slot]
virtual bool BALL::VIEW::PyWidget::completionSelected_ (  )  [protected, virtual, slot]
virtual void BALL::VIEW::PyWidget::contentsDragEnterEvent ( QDragEnterEvent *  e  )  [protected, virtual]
virtual void BALL::VIEW::PyWidget::contentsDropEvent ( QDropEvent *  e  )  [protected, virtual]
void BALL::VIEW::PyWidget::createMenuHelpEntry_ ( QMenu *  menu,
QTextEdit text_edit,
const QPoint &  point 
) [protected]
virtual void BALL::VIEW::PyWidget::createScript_ (  )  [protected, virtual, slot]
void BALL::VIEW::PyWidget::dump ( std::ostream &  s,
Size  depth 
) const [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 BALL::VIEW::ModularWidget.

void BALL::VIEW::PyWidget::execScript (  )  [slot]
void BALL::VIEW::PyWidget::exportHistory (  )  [slot]
virtual void BALL::VIEW::PyWidget::fetchPreferences ( INIFile inifile  )  [virtual]

Load settings from an INIFile

See also:
ModularWidget::fetchPreferences

Reimplemented from BALL::VIEW::DockWidget.

void BALL::VIEW::PyWidget::finalizePreferencesTab ( Preferences preferences  )  [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 BALL::VIEW::ModularWidget.

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

Remove menu entries.

Reimplemented from BALL::VIEW::ModularWidget.

void BALL::VIEW::PyWidget::findError_ ( String  result  )  [protected]
List<Hotkey>::Iterator BALL::VIEW::PyWidget::findKey_ ( Hotkey hotkey  )  [protected]
bool BALL::VIEW::PyWidget::getClassAndMember_ ( String  toc  )  [protected]
QComboBox* BALL::VIEW::PyWidget::getCompletionBox_ (  )  [protected]
String BALL::VIEW::PyWidget::getCurrentLine (  )  const
QString BALL::VIEW::PyWidget::getCurrentScript (  ) 
String BALL::VIEW::PyWidget::getCurrentWord_ ( QTextCursor &  text_cursor  )  [protected]
bool BALL::VIEW::PyWidget::getMembers ( const String classname,
QStringList &  sl,
const String prefix 
) [slot]
const char* BALL::VIEW::PyWidget::getPrompt_ (  )  const [protected]
virtual void BALL::VIEW::PyWidget::hotkeyItem (  )  [virtual, slot]
void BALL::VIEW::PyWidget::initializePreferencesTab ( Preferences preferences  )  [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 BALL::VIEW::ModularWidget.

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

Setup the menu entries.

Reimplemented from BALL::VIEW::DockWidget.

void BALL::VIEW::PyWidget::insertHotkey ( const Hotkey hotkey  ) 
bool BALL::VIEW::PyWidget::isInDirectMode (  )  const
bool BALL::VIEW::PyWidget::isValid (  )  const [inline, virtual]

Is full Python support available?

Reimplemented from BALL::VIEW::ConnectionObject.

bool BALL::VIEW::PyWidget::keyPressed ( QKeyEvent *  e  )  [protected]
void BALL::VIEW::PyWidget::loadScript (  )  [slot]
void BALL::VIEW::PyWidget::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

virtual void BALL::VIEW::PyWidget::modifyHotkeys (  )  [virtual, slot]
void BALL::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 BALL::VIEW::PyWidget::openFile ( const String filename,
bool  run,
bool  is_current = false 
)

Run a Python script from a given file

Parameters:
is_current states wheter this file is currently loaded in the editor
virtual bool BALL::VIEW::PyWidget::openFile ( const String filename  )  [virtual]

Tell this ModularWidget to open a given file. (Overloaded from ModularWidget)

See also:
canHandle

Reimplemented from BALL::VIEW::ModularWidget.

bool BALL::VIEW::PyWidget::parseLine_ ( String  line  )  [protected]

Parse a and execute a given string. If silent_ is set to true, no prompts are being printed.

virtual void BALL::VIEW::PyWidget::paste (  )  [protected, virtual]
virtual void BALL::VIEW::PyWidget::printCursorPosition_ (  )  [protected, virtual, slot]
void BALL::VIEW::PyWidget::reactTo ( const QKeyEvent &  e  ) 
void BALL::VIEW::PyWidget::removeHotkey ( const Hotkey hotkey  ) 
void BALL::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 bool BALL::VIEW::PyWidget::returnPressed (  )  [protected, virtual, slot]
String BALL::VIEW::PyWidget::runCommand_ ( const String command,
bool state 
) [protected]
bool BALL::VIEW::PyWidget::runCurrentScript (  )  [slot]
bool BALL::VIEW::PyWidget::runString ( String  command  ) 
void BALL::VIEW::PyWidget::saveScript (  )  [slot]
virtual void BALL::VIEW::PyWidget::scriptDialog ( bool  run = false  )  [virtual]

Open a dialog to select a script.

void BALL::VIEW::PyWidget::setError_ ( bool  state  )  [protected]
void BALL::VIEW::PyWidget::showClassDocu ( String  classname,
String  member 
)
void BALL::VIEW::PyWidget::showCompletion (  )  [slot]
void BALL::VIEW::PyWidget::showContextMenu ( const QPoint &  point  )  [slot]
void BALL::VIEW::PyWidget::showDocumentation (  )  [slot]
void BALL::VIEW::PyWidget::showEditContextMenu ( const QPoint &  point  )  [slot]
virtual void BALL::VIEW::PyWidget::showHelp_ (  )  [protected, virtual, slot]
virtual void BALL::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.

bool BALL::VIEW::PyWidget::storeScript_ (  )  [protected]
bool BALL::VIEW::PyWidget::testMultilineStart_ ( const String line  )  [protected]
bool BALL::VIEW::PyWidget::toAbortScript (  ) 
void BALL::VIEW::PyWidget::unmap ( String  modifier,
String  key 
)

see above

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

Write settings to an INIFile

See also:
ModularWidget::writePreferences

Reimplemented from BALL::VIEW::DockWidget.


Friends And Related Function Documentation

friend class MyLineEdit [friend]

Member Data Documentation

QComboBox* BALL::VIEW::PyWidget::combo_box_ [protected]
QComboBox * BALL::VIEW::PyWidget::editor_combo_box_ [protected]
vector<bool> BALL::VIEW::PyWidget::results_ [protected]
QTabWidget* BALL::VIEW::PyWidget::tab_widget_ [protected]