21#ifndef KEXIMAINWINDOWIMPL_H
22#define KEXIMAINWINDOWIMPL_H
24#include <tdemessagebox.h>
25#include "core/keximainwindow.h"
26#include "core/kexiguimsghandler.h"
58 static int create( int argc, char *argv[], TDEAboutData* aboutdata = 0);
71 bool activateWindow( int id);
88 virtual bool eventFilter( TQObject *obj, TQEvent * e );
91 virtual TQPopupMenu* findPopupMenu( const char *popupName);
109 virtual void readProperties(TDEConfig *config);
110 virtual void saveProperties(TDEConfig *config);
111 virtual void saveGlobalProperties( TDEConfig* sessionConfig );
116 virtual void closeWindow(KMdiChildView *pWnd, bool layoutTaskBar = true);
119 virtual void addWindow( KMdiChildView* pView, int flags = KMdi::StandardAdd );
130 virtual void detachWindow(KMdiChildView *pWnd, bool bShow= true);
131 virtual void attachWindow(KMdiChildView *pWnd, bool bShow= true, bool bAutomaticResize= false);
141 bool &openingCancelled, TQMap<TQString,TQString>* staticObjectArgs = 0,
142 TQString* errorMessage = 0);
146 int viewMode, bool &openingCancelled, TQMap<TQString,TQString>* staticObjectArgs = 0);
155 const TQString& messageWhenAskingForName = TQString(), bool dontAsk = false );
159 bool& allowOverwriting, const TQString& messageWhenAskingForName = TQString() );
162 virtual void highlightObject( const TQCString& mime, const TQCString& name);
181 const TQString& dbName = TQString(),
182 const TQValueList<KexiProjectData::ObjectInfo>& autoopenObjects = TQValueList<KexiProjectData::ObjectInfo>());
190 tristate openProject( const TQString& aFileName,
191 const TQString& fileNameForConnectionData, const TQString& dbName = TQString());
236 void initNavigator();
238 void initContextHelp();
240 void initPropertyEditor();
249 void initUserActions();
252 void restoreSettings();
255 void storeSettings();
258 void invalidateActions();
266 void invalidateProjectWideActions();
271 void invalidateViewModeActions();
286 KexiProjectData* createBlankProjectData( bool &cancelled, bool confirmOverwrites = true,
287 TQString *shortcutFileName = 0);
289 void setWindowMenu(TQPopupMenu *menu);
301 TQWidget* findWindow(TQWidget *w);
304 void updateAppCaption();
306 void restoreWindowConfiguration(TDEConfig *config);
307 void storeWindowConfiguration(TDEConfig *config);
309 virtual bool queryClose();
310 virtual bool queryExit();
313 bool switchToViewMode( int viewMode);
318 void updateDialogViewGUIClient(KXMLGUIClient *viewClient);
322 void updateCustomPropertyPanelTabs( KexiDialogBase *prevDialog, int prevViewMode);
325 void updateCustomPropertyPanelTabs(
329 tristate openProjectInExternalKexiInstance( const TQString& aFileName,
333 tristate openProjectInExternalKexiInstance( const TQString& aFileName,
334 const TQString& fileNameForConnectionData, const TQString& dbName);
339 void slotAutoOpenObjectsLater();
342 void activeWindowChanged(KMdiChildView *dlg);
345 void childClosed(KMdiChildView *dlg);
349 void slotCaptionForCurrentMDIChild( bool childrenMaximized);
350 void slotNoMaximizedChildFrmLeft(KMdiChildFrm*);
351 void slotLastChildViewClosed();
352 void slotChildViewIsDetachedNow(TQWidget*);
363 bool &openingCancelled);
375 bool openingCancelled;
376 return newObject(info, openingCancelled);
381 TQMap<TQString,TQString>* staticObjectArgs = 0)
383 bool openingCancelled;
384 return openObject(item, viewMode, openingCancelled, staticObjectArgs);
395 void renameObject( KexiPart::Item *item, const TQString& _newName, bool &succes );
400 virtual void slotObjectRenamed( const KexiPart::Item &item, const TQCString& oldName);
402 virtual void fillWindowMenu();
405 void invalidateSharedActionsLater();
409 void updateReadOnlyState();
411 void slotProjectNew();
412 void slotProjectOpen();
413 void slotProjectOpenRecentAboutToShow();
414 void slotProjectOpenRecent( int id);
415 void slotProjectOpenRecentMore();
416 void slotProjectSave();
417 void slotProjectSaveAs();
418 void slotProjectPrint();
419 void slotProjectPrintPreview();
420 void slotProjectPageSetup();
421 void slotProjectProperties();
422 void slotProjectClose();
423 void slotProjectRelations();
424 void slotProjectImportDataTable();
425 void slotProjectExportDataTable();
426 void slotProjectQuit();
427 void slotEditPasteSpecialDataTable();
428 void slotEditCopySpecialDataTable();
430 void slotEditFind( bool next);
431 void slotEditFindNext();
432 void slotEditFindPrevious();
433 void slotEditReplace( bool all);
434 void slotEditReplace();
435 void slotEditReplaceNext();
436 void slotEditReplaceAll();
437 void slotViewNavigator();
438 void slotViewMainArea();
439 void slotViewPropertyEditor();
440 void slotViewDataMode();
441 void slotViewDesignMode();
442 void slotViewTextMode();
443 void slotShowSettings();
444 void slotConfigureKeys();
445 void slotConfigureToolbars();
446 void slotToolsProjectMigration();
447 void slotToolsCompactDatabase();
450 void slotGetNewStuff();
452 void slotTipOfTheDay();
455 void importantInfo( bool onStartup);
456 void slotImportantInfo();
457 void slotStartFeedbackAgent();
459 void slotOptionsEnableForms( bool show, bool noMessage = false);
461 void slotImportFile();
462 void slotImportServer();
465 void slotLastActions();
470 bool preservePrevSelection = true, const TQCString& propertyToSelect = TQCString());
475 void slotMdiModeHasBeenChangedTo(KMdi::MdiMode);
478 virtual void switchToIDEAlMode();
479 void switchToIDEAlMode( bool showMessage);
480 virtual void switchToChildframeMode();
481 void switchToChildframeMode( bool showMessage);
488 tristate showProjectMigrationWizard( const TQString& mimeType, const TQString& databaseName,
511 const TQString& titleText = TQString());
523 const TQString& titleText = TQString(), bool reload = false);
531 class MessageHandler;
An interface that acts as proxy for shared actions within the application.
Database specific connection data, e.g. host, port.
Base class for child window of Kexi's main application window.
Kexi's main window implementation.
static KexiMainWindowImpl * self()
void projectOpened() Emitted after opening a project, even after slotAutoOpenObjectsLater().
KexiDialogBase * openObject(KexiPart::Item *item, int viewMode, TQMap< TQString, TQString > *staticObjectArgs=0) For convenience.
bool newObject(KexiPart::Info *info) For convenience.
Kexi's main window interface This interface is implemented by KexiMainWindowImpl class.
virtual tristate closeObject(KexiPart::Item *item)=0
virtual int generatePrivateID()=0
virtual tristate closeDialog(KexiDialogBase *dlg)=0
virtual void propertySetSwitched(KexiDialogBase *dlg, bool force=false, bool preservePrevSelection=true, const TQCString &propertyToSelect=TQCString())=0
virtual void acceptPropertySetEditing()=0
virtual void highlightObject(const TQCString &mime, const TQCString &name)=0
virtual tristate saveObject(KexiDialogBase *dlg, const TQString &messageWhenAskingForName=TQString(), bool dontAsk=false)=0
virtual KexiProject * project()=0 Project data of currently opened project or NULL if no project here yet.
virtual tristate getNewObjectInfo(KexiPart::Item *partItem, KexiPart::Part *part, bool &allowOverwriting, const TQString &messageWhenAskingForName=TQString())=0
virtual tristate printItem(KexiPart::Item *item)=0 Shows "print" dialog for item.
virtual bool userMode() const =0
virtual KexiDialogBase * currentDialog() const =0
virtual bool newObject(KexiPart::Info *info, bool &openingCancelled)=0
virtual KexiDialogBase * openObject(KexiPart::Item *item, int viewMode, bool &openingCancelled, TQMap< TQString, TQString > *staticObjectArgs=0, TQString *errorMessage=0)=0 Opens object pointed by item in a view viewMode.
virtual tristate showPageSetupForItem(KexiPart::Item *item)=0 Shows "page setup" dialog for item.
virtual tristate printPreviewForItem(KexiPart::Item *item)=0 Shows "print preview" dialog.
virtual tristate executeCustomActionForObject(KexiPart::Item *item, const TQString &actionName)=0
virtual TDEActionPtrList allActions() const =0
virtual void registerChild(KexiDialogBase *dlg)=0
Information about a Kexi Part (plugin).
Information about a single object that can be instantiated using Kexi Part.
The main class for kexi frontend parts like tables, queries, forms and reports.
Kexi project core data member.
A project's main controller.
virtual bool acceptsSharedActions(TQObject *o)
virtual void invalidateSharedActions(TQObject *o)
Settings data for simple printing engine.
3-state logical type with three values: true, false and cancelled and convenient operators.
High-level database connectivity library with database backend drivers.
|