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

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

Inheritance diagram for BALL::VIEW::PyWidget:
Inheritance graph
[legend]

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_
PythonValidator validator_
MyLineEditline_edit_
QComboBox * combo_box_
QComboBox * editor_combo_box_
std::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_ ()
std::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.

Definition at line 139 of file pyWidget.h.


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]
std::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.

Definition at line 201 of file pyWidget.h.

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]

Definition at line 174 of file pyWidget.h.


Member Data Documentation

Definition at line 444 of file pyWidget.h.

QComboBox* BALL::VIEW::PyWidget::combo_box_ [protected]

Definition at line 424 of file pyWidget.h.

Definition at line 443 of file pyWidget.h.

Definition at line 432 of file pyWidget.h.

Definition at line 449 of file pyWidget.h.

QComboBox * BALL::VIEW::PyWidget::editor_combo_box_ [protected]

Definition at line 424 of file pyWidget.h.

Definition at line 447 of file pyWidget.h.

Definition at line 421 of file pyWidget.h.

Definition at line 421 of file pyWidget.h.

Definition at line 436 of file pyWidget.h.

Definition at line 438 of file pyWidget.h.

std::list<Hotkey> BALL::VIEW::PyWidget::hotkeys_ [protected]

Definition at line 425 of file pyWidget.h.

Definition at line 445 of file pyWidget.h.

Definition at line 423 of file pyWidget.h.

Definition at line 444 of file pyWidget.h.

Definition at line 433 of file pyWidget.h.

Definition at line 435 of file pyWidget.h.

Definition at line 434 of file pyWidget.h.

Definition at line 430 of file pyWidget.h.

Definition at line 440 of file pyWidget.h.

vector<bool> BALL::VIEW::PyWidget::results_ [protected]

Definition at line 437 of file pyWidget.h.

Definition at line 446 of file pyWidget.h.

Definition at line 419 of file pyWidget.h.

Definition at line 448 of file pyWidget.h.

Definition at line 418 of file pyWidget.h.

Definition at line 447 of file pyWidget.h.

Definition at line 429 of file pyWidget.h.

Definition at line 439 of file pyWidget.h.

Definition at line 442 of file pyWidget.h.

QTabWidget* BALL::VIEW::PyWidget::tab_widget_ [protected]

Definition at line 420 of file pyWidget.h.

Definition at line 418 of file pyWidget.h.

Definition at line 441 of file pyWidget.h.

Definition at line 428 of file pyWidget.h.

Definition at line 422 of file pyWidget.h.

Definition at line 427 of file pyWidget.h.

Generated by  doxygen 1.6.3