class SbaXDataBrowserController :public SbaXDataBrowserController_Base
,public SbaGridListener
{ // attributes private: // for implementing the XFormController class FormControllerImpl; friendclass FormControllerImpl;
css::uno::Reference< css::sdbc::XRowSet > m_xRowSet; // our rowset
css::uno::Reference< css::sdbcx::XColumnsSupplier > m_xColumnsSupplier; // queried from the rowset member
css::uno::Reference< css::form::XLoadable > m_xLoadable; // queried from the rowset member as well
css::uno::Reference< css::form::XFormComponent > m_xGridModel; // the model of our grid
css::uno::Reference< css::util::XNumberFormatter > m_xFormatter; // a number formatter working with the connection's NumberFormatsSupplier mutable css::uno::Reference< css::sdb::XSingleSelectQueryComposer >
m_xParser; // for sorting 'n filtering
sal_Int32 m_nRowSetPrivileges; // cached Privileges property of m_xRowSet
AutoTimer m_aInvalidateClipboard; // for testing the state of the CUT/COPY/PASTE-slots
TransferableDataHelper m_aSystemClipboard; // content of the clipboard
rtl::Reference<TransferableClipboardListener>
m_pClipboardNotifier; // notifier for changes in the clipboard
// all the features which should be handled by this class virtualvoid describeSupportedFeatures() override; // state of a feature. 'feature' may be the handle of a css::util::URL somebody requested a dispatch interface for OR a toolbar slot. virtual FeatureState GetState(sal_uInt16 nId) const override; // execute a feature virtualvoid Execute(sal_uInt16 nId, const css::uno::Sequence< css::beans::PropertyValue>& aArgs) override;
virtual css::uno::Reference< css::sdbc::XRowSet > CreateForm(); // our default implementation simply instantiates a stardiv.one.form.component.Form service // (probably this needs not to be overridden, but you may return anything you want as long as it // supports the css::form::DatabaseForm service. For instance you may want to create an adapter here which // is synchronized with a foreign css::form::DatabaseForm you got elsewhere) virtualbool InitializeForm( const css::uno::Reference< css::beans::XPropertySet >& i_formProperties ) = 0; // called immediately after a successful CreateForm // do any initialization (data source etc.) here. the form should be fully functional after that. // return sal_False if you didn't succeed (don't throw exceptions, they won't be caught)
css::uno::Reference< css::form::XFormComponent > CreateGridModel(); // our default implementation simply instantiates a stardiv.one.form.component.Grid service // you most probably don't want to override this behavior
// the default implementation of disposing distributes the events to the following disposingXXX functions void disposingFormModel(const css::lang::EventObject& Source); void disposingColumnModel(const css::lang::EventObject& Source);
// want to be a listener to the grid control ? use this ! void addControlListeners(const css::uno::Reference< css::awt::XControl > & _xGridControl); void removeControlListeners(const css::uno::Reference< css::awt::XControl > & _xGridControl);
// want to be a listener to the grid model ? use this ! virtualvoid addModelListeners(const css::uno::Reference< css::awt::XControlModel > & _xGridControlModel); virtualvoid removeModelListeners(const css::uno::Reference< css::awt::XControlModel > & _xGridControlModel);
// want to be a listener grid columns ? use this ! virtualvoid AddColumnListener(const css::uno::Reference< css::beans::XPropertySet > & xCol); virtualvoid RemoveColumnListener(const css::uno::Reference< css::beans::XPropertySet > & xCol);
// call after "major changes" (e.g. the completion of the async load). // invalidates all toolbox slots and all supported features.
virtualbool LoadForm(); // load the form // the default implementation does a direct load or starts a load thread, depending on the multithread capabilities // of the data source. // the default implementation also calls LoadFinished after a synchronous load, so be sure to do the same if you override // this method and don't call the base class' method
virtualvoid LoadFinished(bool bWasSynch); // called if the loading (the _complete_ loading process) is done (no matter if synchron or asynchron).
virtualvoid criticalFail(); // called whenever a reload operation on the rowset failed // (an "operation" is not only a simple reload: if the user sets a filter, and reloading the form // after setting this filter fails, the filter is reset and the form is reloaded, again. Only the // whole process (_both_ XLoadable::reload calls _together_) form the "reload operation"
// empty the frame where our view resides bool CommitCurrent(); // commit the current column (i.e. cell) bool SaveModified(bool bAskFor = true); // save the modified record
css::uno::Reference< css::beans::XPropertySet > getBoundField() const; // a PropertySet corresponding to the cursor field a column is bound to. // The field for the current column will be retrieved.
void enterFormAction(); void leaveFormAction();
// init the formatter if form changes void initFormatter();
/// loads or reloads the form bool reloadForm(const css::uno::Reference< css::form::XLoadable >& _rxLoadable);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.