Commit graph

10508 commits

Author SHA1 Message Date
Frank Schoenheit [fs]
00684a716b autorecovery: merge 2010-02-05 11:15:42 +01:00
Frank Schoenheit [fs]
abb51ede00 autorecovery: derive XReportDefinition from XModifiable2, extending XModifiable 2010-02-04 22:49:44 +01:00
Frank Schoenheit [fs]
538e41ebb4 autorecovery: form and report wizzard now also using XDatabaseDocumentUI, instead of manipulating document definitions
All database object wizards by now employ XDatabaseDocumentUI. This way, it is ensured that the controller
has the full control over the opened sub components.

Still, other third-party code could use direct access to the document definitions, and open sub documents this way.
This would go unnoticed by the application controller at the moment. I would be possible to fix this, by introducing
broadcasts from the document definitions, listened to by the controller. But as this sounds like a rare case, and
XDatabaseDocumentUI is the preferred way for third-party components, too, such an implementation is deferred to Later ...
2010-02-04 16:04:06 +01:00
Frank Schoenheit [fs]
4831a67ec5 autorecovery: need to lock the SolarMutex when disposing, some of the dependent components might need this when they die 2010-02-04 16:03:51 +01:00
Frank Schoenheit [fs]
500131391f autorecovery: post-rebase build problems solved 2010-02-04 14:13:58 +01:00
Frank Schoenheit [fs]
1265c7385c autorecovery: commit resolved merge (after rebase to m71) 2010-02-04 10:38:39 +01:00
Frank Schoenheit [fs]
ed853a88ff autorecovery: re-work the table wizard so that it does not open the table itself, but uses XDatabaseDocumentUI
Consequently, it does not need to return the created model/controller anymore. This way, the application controller
has full control over its sub components, which didn't work reliably before.

Other wizards (query/form/report) are to follow. For this purpose, they're also to be based on the newly introduced
DatabaseObjectWizard class.
2010-02-03 11:52:40 +01:00
Frank Schoenheit [fs]
28b38d73e5 autorecovery: when calling a pilot to create a database object, pass the XDatabaseDocumentUI, too 2010-02-03 11:46:23 +01:00
Frank Schoenheit [fs]
aefb13e5d8 autorecovery: when creating a new form/report by wizard, ensure that our sub component manager knows it by its proper name 2010-02-02 23:05:43 +01:00
Frank Schoenheit [fs]
7de2856ae1 autorecovery: let definition contents support the XHierarchicalName property, so clients can easily retrieve the hierarchical name of a content 2010-02-02 23:05:16 +01:00
Frank Schoenheit [fs]
7af941376a autorecovery: allow the sub component manager to hold multiple objects of the same type, which are new and yet-unsaved (i.e. do not have a name, yet) 2010-02-02 13:57:03 +01:00
Frank Schoenheit [fs]
25d5251771 autorecovery: execute(open*): do not call getComponent just for checking whether it is a report definition, this implicitly changes the state of the embedded object, which can have side effects 2010-02-02 13:53:13 +01:00
Frank Schoenheit [fs]
2d3fb08873 autorecovery: (caught by complex test) store: when we do not (yet) have an URL, store to storage, not to URL 2010-02-02 10:49:34 +01:00
Frank Schoenheit [fs]
51d6afeb37 autorecovery: this slipped through my previous attempt to replace all instantiations of the deprecated sdb.InteractionHandler with task.InteractionHandler 2010-02-02 10:12:38 +01:00
Frank Schoenheit [fs]
13e8f2a69b autorecovery: more sophisticated configuration data for interaction handlers
The generic css.task.InteractionHandler implementation in module uui is now able to instantiate "sub handlers", i.e.
components to delegate a request to, based on the type of the request, and some configuration data.

The "old" (and now deprecated) configuration scheme at org.openoffice.ucb.InteractionHandler did not contain type
information, so any handlers registered there were always called when no default implementation for a given request
was available.

The "new" configuration scheme at org.openoffice.Interaction contains UNO type information. That is, a given handler
implementation can declare itself responsible for an arbitrary set of UNO types, and for each of those types, whether
it is also responsible for sub types.
The generic interaction handler implementation uses this configuration data, when it encounteres an interaction
request it cannot fullfill itself, to instantiate a component to delegate the request to.

As with the "old" data, such a component is required to support the css.task.XInteractionHandler2 interface. Also,
if it supports css.lang.XInitialization, then it will be initialized with a name-value pair, the name being
"Parent", the value being the XWindow interface of the parent window for any message boxes.

As an examplary implementation for this feature, the css.sdb.InteractionHandler has been deprecated. Now the
css.sdb.DatabaseInteractionHandler is reponsible for database-related interactions, and the new configuration scheme
is pre-filled with data assigning this responsibility.

Consequently, a lot of places previously creating an css.sdb.InteractionHandler have been modified to create the
default css.task.InteractionHandler.
2010-02-01 21:32:33 +01:00
Frank Schoenheit [fs]
02c9c9960f autorecovery: recoverSubDocuments: propagate exceptions to the caller, this way aborting the complete recovery process 2010-02-01 11:43:40 +01:00
Frank Schoenheit [fs]
893f3398ca autorecovery: saveToRecoveryFile => storeToRecoveryFile 2010-01-29 15:38:20 +01:00
Frank Schoenheit [fs]
321086abdf autorecovery: respect a media descriptor member "ForceRecovery".
When set to <TRUE/>, then an attempt to recover sub documents in the "recovery" folder is made.
In this course, the m_aArgs member of the ModelImpl was replaced with m_aMediaDescriptor, being a NamedValueCollection,
for easier access.
2010-01-29 13:54:37 +01:00
Frank Schoenheit [fs]
f2478cdceb autorecovery: recover-hidden now also available for new (yet unsaved) forms/reports 2010-01-29 13:06:38 +01:00
Frank Schoenheit [fs]
b7b66e1606 autorecovery: recover forms/reports hidden, and show them when the main window is shown 2010-01-29 13:04:04 +01:00
Frank Schoenheit [fs]
e1e25bdd16 dba33f: when re-activating an embedded object, do not reset its modified state (plus do not the other initializations which are needed for the first activation only) 2010-01-29 10:12:25 +01:00
Frank Schoenheit [fs]
0a8fa850da autorecovery: removed dbdocrecovery.obj, should have happened when the cxx file was moved 2010-01-29 08:50:19 +01:00
Frank Schoenheit [fs]
09af8ffba3 autorecovery: removed a few IMO useless dependencies 2010-01-28 22:36:35 +01:00
Frank Schoenheit [fs]
630c4139a8 autorecovery: creating dedicated core/recovery folder, taking current and future implementations regarding document recovery 2010-01-28 22:34:45 +01:00
Frank Schoenheit [fs]
67f02ec2e2 autorecovery: move the responsibility for calling attachResource into recoverFromFile. This saves us from some problems with SFX-based documents, which change there Args during the load process (during macro confirmation), so a later attachResource from outside would overwrite those changed args 2010-01-28 22:19:50 +01:00
Ivo Hinkelmann
1e1b1d60af CWS-TOOLING: integrate CWS dba33d 2010-01-27 13:51:16 +01:00
Frank Schoenheit [fs]
42614dac63 autorecovery: renamed local var shadowing another local var (GCC warning) 2010-01-27 12:11:39 +01:00
Frank Schoenheit [fs]
e10fc78fea autorecovery: allow an empty URL in the attachResource call, which means 'determine the proper Location/URL yourself'. Needed so that not every client has to do this. Location precedes URL, this ensures that a recovered document, when saved, saves to the salvaged-file, not to the recovery-file 2010-01-27 11:50:04 +01:00
Frank Schoenheit [fs]
925a669a32 autorecovery: yet another slight refactoring of the DatabaseObjectView hierarchy, to allow the AppController, in newElement, to respect the additional args in all cases 2010-01-27 11:18:20 +01:00
Frank Schoenheit [fs]
6e56ff4261 autorecovery: also recover new forms/reports, which were not yet stored 2010-01-27 10:53:54 +01:00
Frank Schoenheit [fs]
c292311202 autorecovery: when creating new documents, allow for additional arguments to be passed 2010-01-27 10:43:52 +01:00
Frank Schoenheit [fs]
9bbf0a62ba autorecovery: when creating new documents, allow for additional arguments to be passed 2010-01-27 10:42:49 +01:00
Frank Schoenheit [fs]
9b89df0e30 autorecovery: prepareClose: do not load it component if it does not exist (anymore) 2010-01-27 00:07:12 +01:00
Frank Schoenheit [fs]
61d77a767a autorecovery: introduce createComponent/WithArguments at the XDatabaseDocumentUI interface 2010-01-26 23:25:22 +01:00
Frank Schoenheit [fs]
6adaf71970 autorecovery: mav sanctioned the approach of the (now so-called) RecoveryStorage 2010-01-26 13:19:11 +01:00
Ivo Hinkelmann
b334da7199 CWS-TOOLING: integrate CWS kso42 2010-01-26 13:09:27 +01:00
Frank Schoenheit [fs]
2ed62793be autorecovery: unxlngi6: removed unused local variables 2010-01-26 09:01:50 +01:00
Frank Schoenheit [fs]
6563b40e14 autorecovery: when the name of a document definition changes, update our component map 2010-01-25 22:36:24 +01:00
Frank Schoenheit [fs]
84155f9750 autorecovery: broadcast name changes also when a newly created, formerly unnamed, doc is saved 2010-01-25 22:36:18 +01:00
Frank Schoenheit [fs]
a2e88c92f9 autorecovery: introduce PersistentPath property at the document definition object 2010-01-25 22:35:24 +01:00
Frank Schoenheit [fs]
64b4e680a5 autorecovery: do not remove SalvagedFile from DBDoc's args if it still carries information 2010-01-25 09:56:57 +01:00
Frank Schoenheit [fs]
74d5307270 autorecovery: #i108366# attachResource: correct the calculation of DocFileLocation and DocURL, in case the doc has
been recovered.
2010-01-22 22:49:50 +01:00
Ocke Janssen [oj]
6b65460828 dba33d: #i108517# order of checks changed 2010-01-21 08:32:46 +01:00
Ocke Janssen [oj]
a4bcd82d3a dba33d: #i106772# cut decimal and numeric when greater than scale allows to be 2010-01-20 14:49:00 +01:00
Kurt Zenker
1b4c2a2492 masterfix: #i10000# builderror fixes 2010-01-19 12:39:03 +01:00
Kurt Zenker
ef1283b889 CWS-TOOLING: integrate CWS printerpullpages 2010-01-15 16:47:42 +01:00
Frank Schoenheit [fs]
5fa3246b0d autorecovery: throw an exception when no storage can be created, otherwise we end up with a broken document 2010-01-15 15:26:50 +01:00
Frank Schoenheit [fs]
5d0d44c203 autorecovery: save/recover forms and reports
Still some lose ends. Most notably, the current code contains cases for other sub component types,
but has no real implementation - attempting to save/recover those other types will yield multiple
assertions only. Also, recovery of SRB-reports has not been tested, yet, chances are good there's
some work ahead here.

Other known open issues:
- recovering sub components immediately shows them, instead of initially hiding them, and showing
  only when the main document window is shown
- the implementation currently is no real session save, which would require saving information about
  *unmodified* open sub components (though not their actual content), and restoring them upon
  recovery.
- doing an implicit "connect" at the controller of the to-be-recovered database document is a requirement
  to actually load the sub components, but might yield problems in case this requires interaction
  (e.g. a login). Need to investigate
- the "recovery" storage is not removed from the database document storage after un/successful recovery
- cancelling the recovery of a "modified" database document always suggests to store this doc somewhere
2010-01-15 15:21:15 +01:00
Kurt Zenker
f438e048e8 CWS-TOOLING: integrate CWS dba33b 2010-01-15 14:01:24 +01:00
Ocke Janssen [oj]
23aabe20a1 dba33d: create sdb interaction 2010-01-15 10:59:38 +01:00