* KOOo::Part component built aroung KOOo::OfficeWidget configuration (cuckooopartui.ini UNO .ini file; KConfig cuckooorc) ui-merging (cuckooopartui.rc) persistence (loading only) whats that QConSpec = "pipe,name=%1_cuckooo-OOo_pipe"? cf. initOffice. * KOOo::Factory * KOOo::OfficeWidget ** helpers for string conversions ** paintEvent only splash screen painting ** initOffice, serviceManager see p 75, example code on p 77 (in pdf version of the developer's guide) example in devguide doesn't use inifile (thus requires some env variables set) for settings in that inifile read http://udk.openoffice.org/common/man/concept/uno_default_bootstrapping.html cuckooo code has existing error handling pipe vs. socket: p 79, the example can't use a pipe (not available with java binding) TODO: read the sections about what's deprecated ** createFrame creates Frame, attaches it to this window (winId() being a method of QWidget): anyParent <<= winId() and rChildFactory->createSystemChild(anyParent, seqProcessId, lang::SystemDependent::SYSTEM_XWINDOW) on frames: http://api.openoffice.org/docs/DevelopersGuide/OfficeDev/OfficeDev.htm especially the example in 6.1.4 "there are two ways to obtain it" -> the first way is deprecated since 643 (says devguide) ** loadDocument tries to reuse m_frame or createFrame loads the doc from url, readonly XComponentLoader, devguide 6.1.5 hideOfficeControls() ** hideOfficeControls hides menu bar, common task bar, inetbar, macrobar, navigationbar, objectbar, optionbar, statusbar, toolbar this is where it needs sfx2 headers (for SIDs) ** dispatchUrl gets an XDispatch for the frame what's the URLTransformer for? uses that to dispatch urls (think verbs) ** getUniqueFrameName kooo-frame- loops through all frames to eliminate all used s unique name is needed for the componentLoader to load the document in the correct frame BETTER: don't use ComponentLoader, it's possible to load with a Reference, so names don't have to be unique. * Don't forget to test this: ** run OOo app, then open use component ** run component, then OOo app (does the app appear?) ** view file in component, keep open, then open in OOo app (does it create a new editable frame) ** press Ctrl-Q or Ctrl-W when the control has focus