Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions

XAP_DialogFactory Class Reference

#include <xap_DialogFactory.h>

Inheritance diagram for XAP_DialogFactory:
AP_CocoaDialogFactory AP_UnixDialogFactory AP_Win32DialogFactory XAP_QtDialogFactory

List of all members.

Classes

struct  _dlg_table

Public Member Functions

 XAP_DialogFactory (XAP_App *pApp, int nrElem, const struct _dlg_table *pDlgTable, XAP_Frame *pFrame=NULL)
virtual ~XAP_DialogFactory (void)
XAP_AppgetApp (void) const
XAP_DialogrequestDialog (XAP_Dialog_Id id)
XAP_DialogjustMakeTheDialog (XAP_Dialog_Id id)
void releaseDialog (XAP_Dialog *pDialog)
XAP_Dialog_Id getNextId (void)
XAP_Dialog_Id registerDialog (XAP_Dialog *(*pStaticConstructor)(XAP_DialogFactory *, XAP_Dialog_Id id), XAP_Dialog_Type iDialogType)
void unregisterDialog (XAP_Dialog_Id id)
bool registerNotebookPage (XAP_Dialog_Id dialog, const XAP_NotebookDialog::Page *page)
bool unregisterNotebookPage (XAP_Dialog_Id dialog, const XAP_NotebookDialog::Page *page)

Protected Member Functions

bool _findDialogInTable (XAP_Dialog_Id id, UT_sint32 *pIndex) const

Protected Attributes

XAP_Appm_pApp
XAP_Framem_pFrame
XAP_Dialog_Type m_dialogType
UT_Vector m_vecDialogs
UT_NumberVector m_vecDialogIds
UT_uint32 m_nrElementsDlgTable
UT_GenericVector< const
_dlg_table * > 
m_vec_dlg_table
UT_GenericVector< _dlg_table * > m_vecDynamicTable

Private Member Functions

void addPages (XAP_NotebookDialog *pDialog, XAP_Dialog_Id id)

Constructor & Destructor Documentation

XAP_DialogFactory::XAP_DialogFactory ( XAP_App pApp,
int  nrElem,
const struct _dlg_table pDlgTable,
XAP_Frame pFrame = NULL 
)
XAP_DialogFactory::~XAP_DialogFactory ( void   )  [virtual]

Member Function Documentation

void XAP_DialogFactory::addPages ( XAP_NotebookDialog pDialog,
XAP_Dialog_Id  id 
) [private]

Add registered pages to the dialog instance.

References XAP_NotebookDialog::addPage(), and s_mapNotebookPages.

Referenced by requestDialog().

XAP_Dialog * XAP_DialogFactory::justMakeTheDialog ( XAP_Dialog_Id  id  ) 

This method just creates a new instance of the dialog without remembering anything about it. It's up the to calling prgram to delete the dialog when it is finished with it.

Parameters:
XAP_Dialog_Id id the identification number of the dialog.
Returns:
XAP_Dialog * pointer to the new instance of the dialog.

References _findDialogInTable(), UT_GenericVector< T >::getNthItem(), XAP_DialogFactory::_dlg_table::m_pfnStaticConstructor, and m_vec_dlg_table.

Referenced by AP_Dialog_FormatTOC::getNewStyle(), and AP_Dialog_Styles::ModifyLists().

bool XAP_DialogFactory::registerNotebookPage ( XAP_Dialog_Id  dialog,
const XAP_NotebookDialog::Page page 
)

Add a notebook page to a builtin dialog.

References s_mapNotebookPages, UT_ASSERT_HARMLESS, and UT_SHOULD_NOT_HAPPEN.

void XAP_DialogFactory::releaseDialog ( XAP_Dialog pDialog  ) 

References _findDialogInTable(), getApp(), XAP_App::getDialogFactory(), XAP_Dialog::getDialogId(), UT_GenericVector< T >::getNthItem(), m_dialogType, XAP_DialogFactory::_dlg_table::m_type, m_vec_dlg_table, releaseDialog(), XAP_Dialog_Persistent::useEnd(), UT_ASSERT_HARMLESS, UT_return_if_fail, UT_SHOULD_NOT_HAPPEN, XAP_DLGT_APP_PERSISTENT, XAP_DLGT_FRAME_PERSISTENT, XAP_DLGT_MODELESS, and XAP_DLGT_NON_PERSISTENT.

Referenced by IE_Imp_Text::_doEncodingDialog(), IE_Exp_Text::_doEncodingDialog(), IE_Exp_HTML::_doOptions(), AP_Dialog_CollaborationJoin::_eventAddBuddy(), _getPassword(), XAP_Dialog_Print::_getPrintToFilePathname(), _getTranslationCode(), AP_Win32Dialog_Options_General::_onCommand(), ServiceAccountHandler::_openDocumentSlave(), ServiceAccountHandler::askFilename(), AP_Dialog_FormatTable::askForGraphicPathName(), AP_Dialog_FormatFrame::askForGraphicPathName(), ServiceAccountHandler::askPassword(), FV_View::cmdEditAnnotationWithDialog(), AP_Dialog_CollaborationAccounts::createEditAccount(), AP_Dialog_CollaborationAccounts::createNewAccount(), Defun(), Defun1(), dlgEditLatexEquation(), IE_Exp_EPUB::doOptions(), XAP_Win32Dialog_PluginManager::event_Load(), XAP_UnixDialog_PluginManager::event_Load(), XAP_CocoaDialog_PluginManager::event_Load, AP_UnixDialog_New::event_ToggleOpenExisting(), AP_CocoaDialog_New::event_ToggleOpenExisting, AP_Dialog_MailMerge::eventOpen(), getFileName(), AP_Dialog_FormatTOC::getNewStyle(), insertAnnotation(), FV_View::killAnnotationPreview(), LoadBindingsDlg_invoke(), XAP_Dialog_Modeless::modeless_cleanup(), AP_Dialog_Styles::ModifyFont(), AP_Dialog_Styles::ModifyLang(), AP_Dialog_Styles::ModifyParagraph(), AP_Dialog_Styles::ModifyTabs(), EV_Win32Toolbar::onDropArrow(), AbiCommand::printFiles(), releaseDialog(), InterruptableAsyncWorker< T >::run(), UT_runDialog_AskForPathname::run(), s_abicollab_accounts(), s_abicollab_join(), s_abicollab_offer(), s_AskForGOComponentPathname(), s_AskForGraphicPathname(), s_AskForMathMLPathname(), s_AskForPathname(), s_AskForScriptName(), s_doAboutDlg(), s_doBookmarkDlg(), s_doBreakDlg(), s_doField(), s_doFontDlg(), s_doFormatImageDlg(), s_doHyperlinkDlg(), s_doInsertDateTime(), s_doInsertPageNumbers(), s_doInsertTableDlg(), s_doLangDlg(), s_doListDocuments(), s_doListRevisions(), s_doMarkRevisions(), s_doMoreWindowsDlg(), s_doOptionsDlg(), s_doParagraphDlg(), s_doPrint(), s_doStylesDlg(), s_doTabDlg(), s_doToggleCase(), s_doZoomDlg(), s_xmlidDlg(), AP_CocoaPlugin_Document::selectMailMergeSource, and AD_Document::showHistory().

XAP_Dialog * XAP_DialogFactory::requestDialog ( XAP_Dialog_Id  id  ) 

References _findDialogInTable(), UT_GenericVector< T >::addItem(), addPages(), d, UT_GenericVector< T >::findItem(), getApp(), XAP_App::getDialogFactory(), UT_GenericVector< T >::getNthItem(), m_dialogType, XAP_DialogFactory::_dlg_table::m_pfnStaticConstructor, XAP_DialogFactory::_dlg_table::m_tabbed, XAP_DialogFactory::_dlg_table::m_type, m_vec_dlg_table, m_vecDialogIds, m_vecDialogs, requestDialog(), XAP_Dialog_Persistent::useStart(), UT_ASSERT, XAP_DLGT_APP_PERSISTENT, XAP_DLGT_FRAME_PERSISTENT, XAP_DLGT_MODELESS, and XAP_DLGT_NON_PERSISTENT.

Referenced by AP_Win32Dialog_New::_doChoose(), IE_Imp_Text::_doEncodingDialog(), IE_Exp_Text::_doEncodingDialog(), IE_Exp_HTML::_doOptions(), AP_Dialog_CollaborationJoin::_eventAddBuddy(), _getPassword(), XAP_Dialog_Print::_getPrintToFilePathname(), _getTranslationCode(), AP_Win32Dialog_Options_General::_onCommand(), ServiceAccountHandler::_openDocumentSlave(), AP_Win32Dialog_Lists::_selectFont(), AbiMathView_LatexInsert(), ServiceAccountHandler::askFilename(), AP_Dialog_FormatTable::askForGraphicPathName(), AP_Dialog_FormatFrame::askForGraphicPathName(), ServiceAccountHandler::askPassword(), FV_View::cmdEditAnnotationWithDialog(), AP_Dialog_CollaborationAccounts::createEditAccount(), XAP_Frame::createMessageBox(), AP_Dialog_CollaborationAccounts::createNewAccount(), Defun(), Defun1(), dlgEditLatexEquation(), IE_Exp_EPUB::doOptions(), XAP_Win32Dialog_PluginManager::event_Load(), XAP_UnixDialog_PluginManager::event_Load(), XAP_CocoaDialog_PluginManager::event_Load, AP_UnixDialog_New::event_ToggleOpenExisting(), AP_CocoaDialog_New::event_ToggleOpenExisting, AP_Dialog_MailMerge::eventOpen(), getFileName(), insertAnnotation(), FV_View::killAnnotationPreview(), LoadBindingsDlg_invoke(), AP_Dialog_Styles::ModifyFont(), AP_Dialog_Styles::ModifyLang(), AP_Dialog_Styles::ModifyParagraph(), AP_Dialog_Styles::ModifyTabs(), EV_Win32Toolbar::onDropArrow(), AbiCommand::printFiles(), requestDialog(), InterruptableAsyncWorker< T >::run(), UT_runDialog_AskForPathname::run(), s_abicollab_accounts(), s_abicollab_join(), s_abicollab_offer(), s_AskForGOComponentPathname(), s_AskForGraphicPathname(), s_AskForMathMLPathname(), s_AskForPathname(), s_AskForScriptName(), s_doAboutDlg(), s_doBookmarkDlg(), s_doBorderShadingDlg(), s_doBreakDlg(), s_doBullets(), s_doField(), s_doFindOrFindReplaceDlg(), s_doFontDlg(), s_doFormatImageDlg(), s_doFormatTableDlg(), s_doGotoDlg(), s_doHyperlinkDlg(), s_doInsertDateTime(), s_doInsertPageNumbers(), s_doInsertTableDlg(), s_doLangDlg(), s_doListDocuments(), s_doListRevisions(), s_doMarkRevisions(), s_doMergeCellsDlg(), s_doMoreWindowsDlg(), s_doOptionsDlg(), s_doParagraphDlg(), s_doPrint(), s_doRDFEditorDlg(), s_doRDFQueryDlg(), s_doSplitCellsDlg(), s_doStylesDlg(), s_doTabDlg(), s_doToggleCase(), s_doWordCountDlg(), s_doZoomDlg(), s_InsertSymbolDlg(), s_xmlidDlg(), AP_CocoaPlugin_Document::selectMailMergeSource, and AD_Document::showHistory().

bool XAP_DialogFactory::unregisterNotebookPage ( XAP_Dialog_Id  dialog,
const XAP_NotebookDialog::Page page 
)

Remove a previously added page from a dialog.

References s_mapNotebookPages.


Member Data Documentation


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