kexi

#include <kexipart.h>

Inheritance diagram for KexiPart::Part:
KexiFormPart KexiMacroPart KexiPart::StaticPart KexiQueryPart KexiReportPart KexiScriptPart KexiSimplePrintingPart

Signals

void newObjectRequest (KexiPart::Info *info)
 

Public Member Functions

 Part (TQObject *parent, const char *name, const TQStringList &)
 
virtual ~Part ()
 
virtual bool execute (KexiPart::Item *item, TQObject *sender=0)
 
int supportedViewModes () const
 
int supportedUserViewModes () const
 
KexiDialogBase * openInstance (KexiMainWindow *win, KexiPart::Item &item, int viewMode=Kexi::DataViewMode, TQMap< TQString, TQString > *staticObjectArgs=0)
 
virtual bool remove (KexiMainWindow *win, KexiPart::Item &item)
 
virtual tristate rename (KexiMainWindow *win, KexiPart::Item &item, const TQString &newName)
 
virtual KexiDialogTempData * createTempData (KexiDialogBase *dialog)
 
virtual KexiViewBase * createView (TQWidget *parent, KexiDialogBase *dialog, KexiPart::Item &item, int viewMode=Kexi::DataViewMode, TQMap< TQString, TQString > *staticObjectArgs=0)=0
 
TQCString instanceName () const
 
TQString instanceCaption () const
 
Info * info () const
 
GUIClient * guiClient () const
 
GUIClient * instanceGuiClient (int mode=0) const
 
TDEActionCollection * actionCollectionForMode (int viewMode) const
 
const Kexi::ObjectStatus & lastOperationStatus () const
 
virtual TQString i18nMessage (const TQCString &englishMessage, KexiDialogBase *dlg) const
 

Protected Slots

void slotCreate ()
 

Protected Member Functions

 Part (TQObject *parent, StaticInfo *info)
 
void createGUIClients (KexiMainWindow *win)
 
virtual void initPartActions ()
 
virtual void initInstanceActions ()
 
virtual KexiDB::SchemaData * loadSchemaData (KexiDialogBase *dlg, const KexiDB::SchemaData &sdata, int viewMode)
 
bool loadDataBlock (KexiDialogBase *dlg, TQString &dataString, const TQString &dataID=TQString())
 
TDEAction * createSharedAction (int mode, const TQString &text, const TQString &pix_name, const TDEShortcut &cut, const char *name, const char *subclassName=0)
 
TDEAction * createSharedToggleAction (int mode, const TQString &text, const TQString &pix_name, const TDEShortcut &cut, const char *name)
 
TDEAction * createSharedPartAction (const TQString &text, const TQString &pix_name, const TDEShortcut &cut, const char *name, const char *subclassName=0)
 
TDEAction * createSharedPartToggleAction (const TQString &text, const TQString &pix_name, const TDEShortcut &cut, const char *name)
 
void setActionAvailable (const char *action_name, bool avail)
 
void setInfo (Info *info)
 
virtual void setupCustomPropertyPanelTabs (KTabWidget *tab, KexiMainWindow *mainWin)
 

Protected Attributes

TQMap< TQString, TQString > m_names
 
int m_supportedViewModes
 
int m_supportedUserViewModes
 
Info * m_info
 
GUIClient * m_guiClient
 
TQIntDict< GUIClient > m_instanceGuiClients
 
KexiMainWindow * m_mainWin
 
Kexi::ObjectStatus m_status
 
int m_registeredPartID
 
bool m_newObjectsAreDirty: 1
 
PartPrivate * d
 

Friends

class Manager
 
class ::KexiMainWindow
 
class ::KexiMainWindowImpl
 
class GUIClient
 

Detailed Description

The main class for kexi frontend parts like tables, queries, forms and reports.

Definition at line 65 of file kexipart.h.

Constructor & Destructor Documentation

◆ Part() [1/2]

Part::Part ( TQObject *  parent,
const char *  name,
const TQStringList &   
)

Constructor.

Definition at line 90 of file kexipart.cpp.

◆ ~Part()

Part::~Part ( )
virtual

Destructor.

Definition at line 116 of file kexipart.cpp.

◆ Part() [2/2]

Part::Part ( TQObject *  parent,
StaticInfo *  info 
)
protected

Used by StaticPart.

Definition at line 103 of file kexipart.cpp.

Member Function Documentation

◆ actionCollectionForMode()

TDEActionCollection * Part::actionCollectionForMode ( int  viewMode) const
Returns
action collection for mode viewMode.

Definition at line 164 of file kexipart.cpp.

◆ createGUIClients()

void Part::createGUIClients ( KexiMainWindow *  win)
protected

Creates GUICLients for this part, attached to win This method is called from KexiMainWindow.

Definition at line 121 of file kexipart.cpp.

◆ createSharedAction()

TDEAction * Part::createSharedAction ( int  mode,
const TQString &  text,
const TQString &  pix_name,
const TDEShortcut &  cut,
const char *  name,
const char *  subclassName = 0 
)
protected

Creates shared action for action collection declared for 'instance actions' of this part. See KexiSharedActionHost::createSharedAction() for details. Pass desired TDEAction subclass with subclassName (e.g. "TDEToggleAction") to have that subclass allocated instead just TDEAction (what is the default).

Definition at line 170 of file kexipart.cpp.

◆ createSharedPartAction()

TDEAction * Part::createSharedPartAction ( const TQString &  text,
const TQString &  pix_name,
const TDEShortcut &  cut,
const char *  name,
const char *  subclassName = 0 
)
protected

Creates shared action for action collection declared for 'part actions' of this part. See KexiSharedActionHost::createSharedAction() for details. Pass desired TDEAction subclass with subclassName (e.g. "TDEToggleAction") to have that subclass allocated instead just TDEAction (what is the default).

Definition at line 183 of file kexipart.cpp.

◆ createSharedPartToggleAction()

TDEAction * Part::createSharedPartToggleAction ( const TQString &  text,
const TQString &  pix_name,
const TDEShortcut &  cut,
const char *  name 
)
protected

Convenience version of above method - creates shared toggle action for 'part actions' of this part.

Definition at line 199 of file kexipart.cpp.

◆ createSharedToggleAction()

TDEAction * Part::createSharedToggleAction ( int  mode,
const TQString &  text,
const TQString &  pix_name,
const TDEShortcut &  cut,
const char *  name 
)
protected

Convenience version of above method - creates shared toggle action.

Definition at line 193 of file kexipart.cpp.

◆ createTempData()

KexiDialogTempData * Part::createTempData ( KexiDialogBase *  dialog)
virtual

Creates and returns a new temporary data for a dialog dialog. This method is called on openInstance() once per dialog. Reimplement this to return KexiDialogTempData subclass instance. Default implemention just returns empty KexiDialogTempData object.

Reimplemented in KexiFormPart, KexiQueryPart, and KexiReportPart.

Definition at line 393 of file kexipart.cpp.

◆ createView()

virtual KexiViewBase * KexiPart::Part::createView ( TQWidget *  parent,
KexiDialogBase *  dialog,
KexiPart::Item &  item,
int  viewMode = Kexi::DataViewMode,
TQMap< TQString, TQString > *  staticObjectArgs = 0 
)
pure virtual

Creates a new view for mode viewMode, item and parent. The view will be used inside dialog.

Implemented in KexiPart::StaticPart, KexiSimplePrintingPart, KexiFormPart, KexiQueryPart, KexiReportPart, KexiMacroPart, and KexiScriptPart.

◆ execute()

virtual bool KexiPart::Part::execute ( KexiPart::Item *  item,
TQObject *  sender = 0 
)
inlinevirtual
Todo:
make it protected, outside world should use KexiProject

Try to execute the part. Implementations of this Part are able to overwrite this method to offer execution.

Parameters
itemThe KexiPart::Item that should be executed.
senderThe sender TQObject which likes to execute this Part or NULL if there is no sender. The KFormDesigner uses this to pass the actual widget (e.g. the button that was pressed).
Returns
true if execution was successfully else false.

Reimplemented in KexiMacroPart, and KexiScriptPart.

Definition at line 85 of file kexipart.h.

◆ guiClient()

GUIClient * KexiPart::Part::guiClient ( ) const
inline
Returns
part's GUI Client, so you can create part-wide actions using this client.

Definition at line 171 of file kexipart.h.

◆ i18nMessage()

TQString Part::i18nMessage ( const TQCString &  englishMessage,
KexiDialogBase *  dlg 
) const
virtual
Returns
i18n'd message translated from englishMessage. This method is useful for messages like: "<p>Table \"%1\" has been modified.</p>", – such messages can be accurately translated, while this could not: "<p>%1 \"%2\" has been modified.</p>". See implementation of this method in KexiTablePart to see what strings are needed for translation.

Default implementation returns generic englishMessage. In special cases, englishMessage can start with ":", to indicate that empty string will be generated if a part does not offer a message for such englishMessage. This is used e.g. in KexiMainWindowImpl::closeDialog().

Reimplemented in KexiFormPart, KexiQueryPart, and KexiReportPart.

Definition at line 398 of file kexipart.cpp.

◆ info()

Info * KexiPart::Part::info ( ) const
inline

Definition at line 167 of file kexipart.h.

◆ initInstanceActions()

void Part::initInstanceActions ( )
protectedvirtual

Reimplemented in KexiMacroPart, and KexiScriptPart.

Definition at line 381 of file kexipart.cpp.

◆ initPartActions()

void Part::initPartActions ( )
protectedvirtual

Reimplemented in KexiMacroPart, and KexiScriptPart.

Definition at line 377 of file kexipart.cpp.

◆ instanceCaption()

TQString Part::instanceCaption ( ) const

i18n'd instance name usable for displaying in gui as object's caption.

Todo:
move this to Info class when the name could be moved as localized property to service's .desktop file.

Definition at line 415 of file kexipart.cpp.

◆ instanceGuiClient()

GUIClient * KexiPart::Part::instanceGuiClient ( int  mode = 0) const
inline
Returns
part's GUI Client, so you can create instance-wide actions using this client.

Definition at line 175 of file kexipart.h.

◆ instanceName()

TQCString Part::instanceName ( ) const

i18n'd instance name usable for displaying in gui as object's name. The name is valid identifier - contains latin1 lowercase characters only.

Todo:
move this to Info class when the name could be moved as localized property to service's .desktop file.

Definition at line 408 of file kexipart.cpp.

◆ lastOperationStatus()

const Kexi::ObjectStatus & KexiPart::Part::lastOperationStatus ( ) const
inline

Definition at line 189 of file kexipart.h.

◆ loadDataBlock()

bool Part::loadDataBlock ( KexiDialogBase *  dlg,
TQString &  dataString,
const TQString &  dataID = TQString() 
)
protected

Definition at line 366 of file kexipart.cpp.

◆ loadSchemaData()

KexiDB::SchemaData * Part::loadSchemaData ( KexiDialogBase *  dlg,
const KexiDB::SchemaData &  sdata,
int  viewMode 
)
protectedvirtual

Definition at line 358 of file kexipart.cpp.

◆ openInstance()

KexiDialogBase * Part::openInstance ( KexiMainWindow *  win,
KexiPart::Item &  item,
int  viewMode = Kexi::DataViewMode,
TQMap< TQString, TQString > *  staticObjectArgs = 0 
)
Todo:
make it protected, outside world should use KexiProject

"Opens" an instance that the part provides, pointed by item in a mode viewMode. viewMode is one of Kexi::ViewMode enum. staticObjectArgs can be passed for static Kexi Parts.

Todo:
js: apply settings for caption displaying method; there can be option for
  • displaying item.caption() as caption, if not empty, without instanceName
  • displaying the same as above in tabCaption (or not)

Definition at line 236 of file kexipart.cpp.

◆ remove()

bool Part::remove ( KexiMainWindow *  win,
KexiPart::Item &  item 
)
virtual
Todo:
make it protected, outside world should use KexiProject

Removes any stored data pointed by item (example: table is dropped for table part). From now this data is inaccesible, and item disappear. You do not need to remove item, or remove object's schema stored in the database, beacuse this will be done automatically by KexiProject after successful call of this method. All object's data blocks are also automatically removed from database (from "kexi__objectdata" table). For this, a database connection associated with kexi project owned by win can be used.

Database transaction is started by KexiProject before calling this method, and it will be rolled back if you return false here. You shouldn't use by hand transactions here.

Default implementation just removes object from kexi__* system structures at the database backend using KexiDB::Connection::removeObject().

Reimplemented in KexiQueryPart.

Definition at line 385 of file kexipart.cpp.

◆ rename()

tristate Part::rename ( KexiMainWindow *  win,
KexiPart::Item &  item,
const TQString &  newName 
)
virtual

Renames stored data pointed by item to newName (example: table name is altered in the database). For this, a database connection associated with kexi project owned by win can be used. You do not need to change item, and change object's schema stored in the database, beacuse this is automatically handled by KexiProject.

Database transaction is started by KexiProject before calling this method, and it will be rolled back if you return false here. You shouldn't use by hand transactions here.

Default implementation does nothing and returns true.

Reimplemented in KexiQueryPart.

Definition at line 420 of file kexipart.cpp.

◆ setActionAvailable()

void Part::setActionAvailable ( const char *  action_name,
bool  avail 
)
protected

Definition at line 222 of file kexipart.cpp.

◆ setInfo()

void KexiPart::Part::setInfo ( Info *  info)
inlineprotected

Definition at line 284 of file kexipart.h.

◆ setupCustomPropertyPanelTabs()

void Part::setupCustomPropertyPanelTabs ( KTabWidget *  tab,
KexiMainWindow *  mainWin 
)
protectedvirtual

This method can be reimplemented to setup additional tabs in the property editor panel. Default implementation does nothing. This method is called whenever current dialog (KexiDialogBase) is switched and type (mime type) of its contents differs from previous one. For example, if a user switched from Table Designer to Form Designer, additional tab containing Form Designer's object tree should be shown.

Reimplemented in KexiFormPart.

Definition at line 404 of file kexipart.cpp.

◆ slotCreate

void Part::slotCreate ( )
protectedslot

Definition at line 353 of file kexipart.cpp.

◆ supportedUserViewModes()

int KexiPart::Part::supportedUserViewModes ( ) const
inline
Returns
supported modes for dialogs created by this part in "user mode", i.e. a combination of Kexi::ViewMode enum elements. Set this member in your KexiPart subclass' ctor, if you need to override the default value that equals Kexi::DataViewMode. or 0 in case of Kexi::PartStaticPart object. This information is used to set supported view modes for every KexiDialogBase-derived object created by this KexiPart.

Definition at line 106 of file kexipart.h.

◆ supportedViewModes()

int KexiPart::Part::supportedViewModes ( ) const
inline
Returns
supported modes for dialogs created by this part, i.e. a combination of Kexi::ViewMode enum elements. Set this member in your KexiPart subclass' ctor, if you need to override the default value that equals Kexi::DataViewMode | Kexi::DesignViewMode, or Kexi::DesignViewMode in case of Kexi::PartStaticPart object. This information is used to set supported view modes for every KexiDialogBase-derived object created by this KexiPart.

Definition at line 98 of file kexipart.h.

Friends And Related Symbol Documentation

◆ ::KexiMainWindow

friend class ::KexiMainWindow
friend

Definition at line 327 of file kexipart.h.

◆ ::KexiMainWindowImpl

friend class ::KexiMainWindowImpl
friend

Definition at line 328 of file kexipart.h.

◆ GUIClient

friend class GUIClient
friend

Definition at line 329 of file kexipart.h.

◆ Manager

friend class Manager
friend

Definition at line 326 of file kexipart.h.

Member Data Documentation

◆ d

PartPrivate* KexiPart::Part::d
protected

Definition at line 324 of file kexipart.h.

◆ m_guiClient

GUIClient* KexiPart::Part::m_guiClient
protected

Definition at line 309 of file kexipart.h.

◆ m_info

Info* KexiPart::Part::m_info
protected

Definition at line 308 of file kexipart.h.

◆ m_instanceGuiClients

TQIntDict<GUIClient> KexiPart::Part::m_instanceGuiClients
protected

Definition at line 310 of file kexipart.h.

◆ m_mainWin

KexiMainWindow* KexiPart::Part::m_mainWin
protected

Definition at line 311 of file kexipart.h.

◆ m_names

TQMap<TQString,TQString> KexiPart::Part::m_names
protected

Set of i18n'd action names for, initialised on KexiPart::Part subclass ctor The names are useful because the same action can have other name for each part E.g.

"New table" vs "New query" can have different forms for some languages...

Definition at line 297 of file kexipart.h.

◆ m_newObjectsAreDirty

bool KexiPart::Part::m_newObjectsAreDirty
protected

True if newwly created, unsaved objects are dirty. False by default. You can change it in your subclass' constructor.

Definition at line 322 of file kexipart.h.

◆ m_registeredPartID

int KexiPart::Part::m_registeredPartID
protected

If you're implementing a new part, set this to value >0 in your ctor if you have well known (ie registered ID) for your part. So far, table, query, form, report and script part have defined their IDs (see KexiPart::ObjectTypes).

Definition at line 318 of file kexipart.h.

◆ m_status

Kexi::ObjectStatus KexiPart::Part::m_status
protected

Definition at line 312 of file kexipart.h.

◆ m_supportedUserViewModes

int KexiPart::Part::m_supportedUserViewModes
protected

Supported modes for dialogs created by this part in "user mode". The default is Kexi::DataViewMode. It is altered in classes like KexiSimplePrintingPart.

See also
supportedUserViewModes()

Definition at line 306 of file kexipart.h.

◆ m_supportedViewModes

int KexiPart::Part::m_supportedViewModes
protected

Supported modes for dialogs created by this part.

See also
supportedViewModes()

Definition at line 301 of file kexipart.h.


The documentation for this class was generated from the following files: