summaryrefslogtreecommitdiff
path: root/sfx2
diff options
context:
space:
mode:
authorIvo Hinkelmann <ihi@openoffice.org>2009-04-21 16:06:18 +0000
committerIvo Hinkelmann <ihi@openoffice.org>2009-04-21 16:06:18 +0000
commit4b4270673c7f53bf7013eeac460ef1329b3f34bb (patch)
tree374d8d5b141fc5fe724ea96c0ed37ccb1cd9c0ce /sfx2
parent801511332ca97a37bb62da1c08934008d0a1945d (diff)
CWS-TOOLING: integrate CWS layoutdialogs2
2009-04-09 10:11:14 +0200 mba r270680 : defective merge sets seem to have brought config_office back 2009-04-02 18:00:52 +0200 mba r270429 : #i100503#: make tralay work without LD_LIBRARY_PATH 2009-04-01 13:27:58 +0200 mba r270320 : warning on Solaris fixed 2009-03-31 22:15:03 +0200 mba r270293 : CWS-TOOLING: rebase CWS layoutdialogs2 to trunk@270033 (milestone: DEV300:m45) 2009-03-16 13:05:08 +0100 mba r269526 : fixed some compiler warnings of the Sun compiler 2009-03-11 15:32:42 +0100 mba r269337 : some problems for ENABLE_LAYOUT fixed 2009-03-09 16:05:32 +0100 mba r269197 : merge conflict solved 2009-03-09 15:09:55 +0100 mba r269194 : merge conflict solved 2009-03-09 15:09:35 +0100 mba r269193 : merge conflict solved 2009-03-06 22:12:47 +0100 mba r269052 : compilation error fixed 2009-03-06 17:36:37 +0100 mba r269033 : integer warning fixed 2009-03-06 10:31:19 +0100 mba r268983 : CWS-TOOLING: rebase CWS layoutdialogs2 to trunk@268395 (milestone: DEV300:m42) 2009-03-03 20:03:59 +0100 jcn r268777 : Add Notes checkbox to find-and-replace dialog in anticipation of m40 resync. 2009-03-03 15:56:20 +0100 jcn r268737 : Apply layout-find-dialog-crash-fix.diff -- fixes crasher. From http://svn.gnome.org/viewvc/ooo-build?view=revision&revision=15378 2009-02-06 17:41:24 +0100 mba r267479 : arrrrgh - svx headers must be included behind the magic define 2009-02-05 19:44:42 +0100 mba r267439 : seems that msvc preprocessor is thick as a brick 2009-02-05 15:15:16 +0100 mba r267425 : pch added 2009-02-05 08:14:01 +0100 mba r267409 : double defined symbols fixed 2009-02-05 08:13:14 +0100 mba r267408 : compile Languagebox and FontListbox with ENABLE_LAYOUT 2009-02-05 08:07:35 +0100 mba r267406 : warning fixed 2009-02-05 08:06:42 +0100 mba r267405 : warnings and errors fixed 2009-01-30 15:51:52 +0100 mba r267206 : export Container class to compile code in sfx2 2009-01-30 15:51:14 +0100 mba r267205 : remove LAYOUT_EXPERIMENTAL from sfx2, everything now compiles with ENABLE_LAYOUT 2009-01-28 17:01:27 +0100 mba r267069 : fixed namespace problems in sfx2 2009-01-28 16:59:48 +0100 mba r267068 : fixed namespace problems 2009-01-24 13:57:06 +0100 mba r266877 : move svx stuff to experimental 2009-01-24 13:56:11 +0100 mba r266876 : move svx stuff to experimental 2009-01-24 13:52:09 +0100 mba r266875 : put sfx stuff into experimental 2009-01-24 13:28:08 +0100 mba r266874 : put sfx stuff into experimental 2009-01-24 13:26:38 +0100 mba r266873 : help msvc++ compiler a bit 2009-01-24 13:24:43 +0100 mba r266872 : warning removed 2009-01-24 13:23:21 +0100 mba r266871 : moved svx stuff to svx; put sfx stuff into experimental 2009-01-24 13:22:04 +0100 mba r266870 : moved svx stuff to svx 2009-01-05 16:35:34 +0100 jcn r265879 : config_office/configure: Regenerate. Fixes naive builds. 2008-12-17 16:06:25 +0100 jcn r265638 : Wordcount: minor HIG tweaks. 2008-12-17 16:06:21 +0100 jcn r265637 : Zoom: minor HIG spacing tweaks. 2008-12-17 16:06:16 +0100 jcn r265636 : Zoom: fix align-test and update zoom.xml. 2008-12-17 16:06:12 +0100 jcn r265635 : Zoom: add align-test.xml to illustrate zoom alignment bug. 2008-12-17 16:06:07 +0100 jcn r265634 : Find-and-Replace: request font-style-name="Bold", does not seem to work. 2008-12-17 16:06:03 +0100 jcn r265633 : Find-and-Replace: Add alignment for combobox labels. 2008-12-17 16:05:59 +0100 jcn r265632 : Find-and-Replace: Replace pairs of <flow> with <align>. Fixes ugly non-emptiness of more-<hbox>. 2008-12-17 16:05:56 +0100 jcn r265631 : Find-and-Replace: add nice 12pt border. 2008-12-17 16:05:51 +0100 jcn r265630 : Find-and-Replace: also add rowsep at lower fixedline. 2008-12-17 16:05:47 +0100 jcn r265629 : Find-and-Replace: Add poor man's colsep and rowsep substitute spaces. 2008-12-17 16:05:43 +0100 jcn r265628 : Find-and-Replace: use <vbox cnt:x-expand="false"> for buttons. 2008-12-17 16:05:40 +0100 jcn r265627 : Find-and-Replace: add <vbox>s and use cnt:expand="false" to stop vertical button expansion. 2008-12-17 16:05:36 +0100 jcn r265626 : Find-and-Replace: use sc icon. Fixes FIND button height. 2008-12-17 16:05:31 +0100 jcn r265625 : Bugfix have empty/invisible containers not take up space. 2008-12-17 16:05:27 +0100 jcn r265624 : Find-and-replace: Fix/remove most property errors. 2008-12-17 16:05:23 +0100 jcn r265623 : Table: make x, y expand default. 2008-12-17 16:05:18 +0100 jcn r265622 : Use OSL_TRACE rather than printf. Fixes warning visibility. 2008-12-17 16:05:14 +0100 jcn r265621 : Boxtest: add <vbox><table x-expand="true"> pair to trigger property errors. 2008-12-17 16:05:10 +0100 jcn r265620 : Junk extra <table> from boxtest. Fixes visual output. 2008-12-17 16:05:05 +0100 jcn r265619 : Eradicate PROPHELPER_SET_INFO: junk static caching. 2008-12-17 16:05:01 +0100 jcn r265618 : Update awk+sed localize generation rules. Fixes multiple (wrong) titles in Find & Replace. 2008-12-17 16:04:56 +0100 jcn r265617 : Use dash (-) instead of underscore (_) to separate language modifiers. Fixes en_GB etc. 2008-12-17 16:04:51 +0100 jcn r265616 : Add "defbutton=true" to dialogs. Fixes ENTER doing default action: n#439222. 2008-12-17 16:04:45 +0100 jcn r265615 : Michael's new table-based find and replace. 2008-12-17 16:04:40 +0100 jcn r265614 : Apply Michael's boxtest patch. 2008-12-17 16:04:36 +0100 jcn r265613 : Make sort-options experimental. Part II. Fixes crasher n-44.patch. Fixes crasher: n#442036. 2008-12-17 16:04:31 +0100 jcn r265612 : Make sort-options experimental. Part I. 2008-12-17 16:04:26 +0100 jcn r265611 : Add --enable-layout-experimental configure switch. Part II. Typo in configure.in, add set_soenv entry. 2008-12-17 16:04:21 +0100 jcn r265610 : Add --enable-layout-experimental configure switch. Default off. 2008-11-26 16:25:18 +0100 mba r264417 : fixed compiler warnings 2008-11-26 15:52:02 +0100 mba r264407 : fixed compiler warnings 2008-11-26 15:40:44 +0100 mba r264402 : fixed compiler warnings 2008-11-26 14:50:47 +0100 mba r264395 : fixed compiler warnings 2008-11-26 14:39:12 +0100 mba r264393 : fixed compiler warnings 2008-11-26 14:38:49 +0100 mba r264392 : fixed compiler warnings 2008-11-26 14:38:31 +0100 mba r264391 : fixed compiler warnings 2008-11-26 14:38:13 +0100 mba r264390 : fixed compiler warnings 2008-11-26 14:37:38 +0100 mba r264389 : fixed compiler warnings 2008-11-26 10:11:17 +0100 mba r264352 : fixed compiler warnings 2008-11-26 10:06:12 +0100 mba r264351 : fixed compiler warnings 2008-11-26 09:58:28 +0100 mba r264347 : fixed compiler warnings 2008-11-26 09:50:41 +0100 mba r264345 : fixed compiler warnings 2008-11-26 09:46:10 +0100 mba r264343 : fixed compiler warnings 2008-10-22 10:57:09 +0200 mba r262584 : fixed small error resulting from resolved merged conflicts 2008-10-22 10:56:21 +0200 mba r262583 : fixed some small errors resulting from resolved merged conflicts 2008-10-20 19:29:27 +0200 jcn r262557 : layoutdialogs2: Remove stray patches. 2008-10-20 19:29:22 +0200 jcn r262556 : layoutdialogs2: Force resize also on second show after hiding. 2008-10-20 19:29:17 +0200 jcn r262555 : layoutdialogs2: Do not trigger handlers for api calls. 2008-10-20 19:29:13 +0200 jcn r262554 : layoutdialogs2: Use disable/enable instead of hide/show for currency box. Fixes monster lisbox. 2008-10-20 19:29:09 +0200 jcn r262553 : layoutdialogs2: Use line-count instead of linecount. Fixes sizing of listboxes. 2008-10-20 19:29:04 +0200 jcn r262552 : layoutdialogs2: vcl: respect line-count also for non-dropdown listbox. 2008-10-20 19:28:59 +0200 jcn r262551 : layoutdialogs2: Update to svn:r14142 patched. 2008-10-20 19:28:51 +0200 jcn r262550 : layoutdialogs2: Manual tweaks in number-format.xml. 2008-10-20 19:28:45 +0200 jcn r262549 : layoutdialogs2: Integrate Number Format tabpage into Format Cell dialog. 2008-10-20 19:28:36 +0200 jcn r262548 : layoutdialogs2: Windows build fixes. Thanks Noel. 2008-10-20 19:28:31 +0200 jcn r262547 : layoutdialogs2: Layout Format Cells/Number Format tabpage. 2008-10-20 19:28:24 +0200 jcn r262546 : layoutdialogs2: Remove sc/uiconfig/layout/localize.sdf. 2008-10-20 19:28:20 +0200 jcn r262545 : layoutdialogs2: --enable-debug link fix 2008-10-20 19:28:16 +0200 jcn r262544 : layoutdialogs2: Add missing localize.sdf dependency. Thanks, Petr. 2008-10-20 19:28:12 +0200 jcn r262543 : layoutdialogs2: svx linx fixlet. 2008-10-20 19:28:06 +0200 jcn r262542 : layoutdialogs2: Move layout/* to layout/core, vclcompat to layout/vcl. Distribute layout headers. Fixes sfx2 layout core includes. 2008-10-20 19:27:58 +0200 jcn r262541 : layoutdialogs2: Build fix for --enable-layout. 2008-10-20 19:27:54 +0200 jcn r262540 : layoutdialogs2: Generate localize.sdf files in uiconfig. 2008-10-20 19:27:47 +0200 jcn r262539 : layoutdialogs2: Minimalize deprecated String use further by using OUString. 2008-10-20 19:27:42 +0200 jcn r262538 : layoutdialogs2: Implement LocalizedString.GetToken and use it for aCalcBtn. Fixes empty label. 2008-10-20 19:27:36 +0200 jcn r262537 : layoutdialogs2: Add layout::Sfx*Dialog wrapper. 2008-10-20 19:27:29 +0200 jcn r262536 : layoutdialogs2: Introduce Closing*Dialog wrappers fixing closing with ESC. 2008-10-20 19:27:24 +0200 jcn r262535 : layoutdialogs2: Support <sfxmodelessdialog> from sfx2. 2008-10-20 19:27:17 +0200 jcn r262534 : layoutdialogs2: Rename find-&-replace.xml to find-and-replace.xml. Fixes split build with failing solenv patch. 2008-10-20 19:27:12 +0200 jcn r262533 : layoutdialogs2: Do not build sfx2 when --disable-layout. 2008-10-20 19:27:08 +0200 jcn r262532 : layoutdialogs2: Ignore ja/ too. 2008-10-20 19:27:04 +0200 jcn r262531 : layoutdialogs2: Add destructors for VCLXButton, VCLXComboBox. 2008-10-20 19:26:58 +0200 jcn r262530 : layoutdialogs2: Make dialogs closable with ESC: wordcount, zoom, message-box, move-copy-sheet, insert-sheet. 2008-10-20 19:26:52 +0200 jcn r262529 : layoutdialogs2: Move some implementations to .cxx. 2008-10-20 19:26:47 +0200 jcn r262528 : layoutdialogs2: Fix simple editor crasher. 2008-10-20 19:26:43 +0200 jcn r262527 : layoutdialogs2: Further cleanup: remove clean & delete from wrapperGone. 2008-10-20 19:26:38 +0200 jcn r262526 : layoutdialogs2: Add reset logic to ~WindowImpl, plugs ComboBox and Dialog leaks. 2008-10-20 19:26:34 +0200 jcn r262525 : layoutdialogs2: Interesting hack: only leaks ::ComboBox and ::Dialog. 2008-10-20 19:26:29 +0200 jcn r262524 : layoutdialogs2: Build fix. 2008-10-20 19:26:24 +0200 jcn r262523 : layoutdialogs2: Find&Replace duplicate disposal workaround inside layout. 2008-10-20 19:26:19 +0200 jcn r262522 : layoutdialogs2: Revert "Terrible crasher-fix hack. Do not dispose Dialog or any FocusHandler owners." This reverts commit 5222b5b123a2e6c88494983bd875de574f365bae. 2008-10-20 19:26:14 +0200 jcn r262521 : layoutdialogs2: Terrible crasher-fix hack. Do not dispose Dialog or any FocusHandler owners. 2008-10-20 19:26:08 +0200 jcn r262520 : layoutdialogs2: Revert "ComboBox: crash down to (Dialog's) VCLXWindowImpl::DestroyOutputDevice();" This reverts commit b423129aca295e84ef5986149b6ee71eb7ba0aa3. 2008-10-20 19:26:03 +0200 jcn r262519 : layoutdialogs2: ComboBox: crash down to (Dialog's) VCLXWindowImpl::DestroyOutputDevice(); 2008-10-20 19:25:57 +0200 jcn r262518 : layoutdialogs2: Handler and debug cleanup. 2008-10-20 19:25:52 +0200 jcn r262517 : layoutdialogs2: Minimally remove FixedText workaround. 2008-10-20 19:25:47 +0200 jcn r262516 : layoutdialogs2: Preparations for FocusHdl fix. 2008-10-20 19:25:42 +0200 jcn r262515 : layoutdialogs2: Remove vclxwindows patch by using handler hackery. 2008-10-20 19:25:38 +0200 jcn r262514 : layoutdialogs2: Don't call deleted dialog. Hdler reset tweaks. Fixes Find&Replace. 2008-10-20 19:25:34 +0200 jcn r262513 : layoutdialogs2: Hdler and disposing cleanups. 2008-10-20 19:25:29 +0200 jcn r262512 : layoutdialogs2: Prevent Find&Replace window from being deleted twice. 2008-10-20 19:25:24 +0200 jcn r262511 : layoutdialogs2: Add destructor to SvxSearchDialogWrapper. Fixes second invocation crasher. 2008-10-20 19:25:19 +0200 jcn r262510 : layoutdialogs2: Make Find&Replace work (once) with minimal client code changes. 2008-10-20 19:25:13 +0200 jcn r262509 : layoutdialogs2: Add ComboBox/FixedText debug switching. 2008-10-20 19:25:08 +0200 jcn r262508 : layoutdialogs2: Add destructors resetting handlers. 2008-10-20 19:25:03 +0200 jcn r262507 : layoutdialogs2: Static cast fixes. 2008-10-20 19:24:59 +0200 jcn r262506 : layoutdialogs2: Always set button handler. Fixes pushbuttons. 2008-10-20 19:24:55 +0200 jcn r262505 : layoutdialogs2: Revert "Move FocusHandlers from Control down to ListBox, ComboBox, FixedText." This reverts commit 8bc4b991539a74373bfb1ef8792276ada8c958e4. 2008-10-20 19:24:50 +0200 jcn r262504 : layoutdialogs2: Disable Timer for ENABLE_LAYOUT. 2008-10-20 19:24:45 +0200 jcn r262503 : layoutdialogs2: Move FocusHandlers from Control down to ListBox, ComboBox, FixedText. 2008-10-20 19:24:40 +0200 jcn r262502 : layoutdialogs2: Wider small symbol. 2008-10-20 19:24:36 +0200 jcn r262501 : layoutdialogs2: Listener and SetHandler cleanup. 2008-10-20 19:24:31 +0200 jcn r262500 : layoutdialogs2: Clear mxWindow upon deletion. Fixes Find&Replace crasher. 2008-10-20 19:24:27 +0200 jcn r262499 : layoutdialogs2: Typo, fixes build. 2008-10-20 19:24:22 +0200 jcn r262498 : layoutdialogs2: Ignore .log files too. 2008-10-20 19:24:19 +0200 jcn r262497 : layoutdialogs2: By default, work around #define protected public Resource hack. 2008-10-20 19:24:15 +0200 jcn r262496 : layoutdialogs2: Sw:Find&Replace: Remove wrong static cast. Fixes crasher. 2008-10-20 19:24:10 +0200 jcn r262495 : layoutdialogs2: Find&Replace: do not vertically expand buttons, add title. 2008-10-20 19:24:06 +0200 jcn r262494 : layoutdialogs2: Find&Replace: Remove need for ResId, set help id. 2008-10-20 19:24:01 +0200 jcn r262493 : layoutdialogs2: MoreButton: redraw upon resize, fix labels, use small symbol. 2008-10-20 19:23:57 +0200 jcn r262492 : layoutdialogs2: Support setting and querying small symbol on vcl:button. 2008-10-20 19:23:52 +0200 jcn r262491 : layoutdialogs2: Support redrawing of only this, make parent optional. 2008-10-20 19:23:48 +0200 jcn r262490 : layoutdialogs2: Add Kohei's wfield patch https://bugzilla.novell.com/attachment.cgi?id=235398. Fixes n#417840. 2008-10-20 19:23:44 +0200 jcn r262489 : layoutdialogs2: Redraw [parent] upon first time visibility. Fixes weird listbox dropdown sizing in Find & Replace. 2008-10-20 19:23:39 +0200 jcn r262488 : layoutdialogs2: Add manual layouting for Find & Replace. 2008-10-20 19:23:35 +0200 jcn r262487 : layoutdialogs2: src2xml: use label instead of text for buttons. Run on Find & Replace; fixes button texts. 2008-10-20 19:23:31 +0200 jcn r262486 : layoutdialogs2: Add initial auto-translated find-&-replace-.xml. 2008-10-20 19:23:26 +0200 jcn r262485 : layoutdialogs2: layout importer: handle ModelessDialog. Fixes Find & Replace parsing error. 2008-10-20 19:23:22 +0200 jcn r262484 : layoutdialogs2: src2xml: Handle multiple widgets at same x,y. Fixes silent removal of widgets in Find & Replace dialog. 2008-10-20 19:23:18 +0200 jcn r262483 : layoutdialogs2: src2xml: Handle hide= attribute, translate to show=. 2008-10-20 19:23:14 +0200 jcn r262482 : layoutdialogs2: Only use __PRETTY_FUNCTION__ on gcc. Fixes Windows build. Thanks Tor! 2008-10-20 19:23:10 +0200 jcn r262481 : layoutdialogs2: Add two missing SAL_CALL decorations. Fixes Windows build. Thanks Tor! 2008-10-20 19:23:05 +0200 jcn r262480 : layoutdialogs2: Build fixes for layout'ed Find & Replace dialog. 2008-10-20 19:22:54 +0200 jcn r262479 : layoutdialogs2: Do not use layout::SfxTabDialog for now. 2008-10-20 19:22:47 +0200 jcn r262478 : layoutdialogs2: Crufty sizing tweaks. 2008-10-20 19:22:42 +0200 jcn r262477 : layoutdialogs2: More debugging cleanups. 2008-10-20 19:22:37 +0200 jcn r262476 : layoutdialogs2: More cleanups that result in constant manual resizing... 2008-10-20 19:22:33 +0200 jcn r262475 : layoutdialogs2: Tabdlg cleanups. 2008-10-20 19:22:28 +0200 jcn r262474 : layoutdialogs2: Add GetOptimalSize () to InPlug. Fixes auto-sizing of tabcontrol. 2008-10-20 19:22:21 +0200 jcn r262473 : layoutdialogs2: Get VCLXTabControl to resize automatically (too tall), not mousable. 2008-10-20 19:22:13 +0200 jcn r262472 : layoutdialogs2: Respect show=false property; do not show everything. 2008-10-20 19:22:09 +0200 jcn r262471 : layoutdialogs2: Add show=false on buttons. Fixes displaying everything. 2008-10-20 19:22:05 +0200 jcn r262470 : layoutdialogs2: Move some code to reduce namespace and #if hacking. 2008-10-20 19:22:00 +0200 jcn r262469 : layoutdialogs2: Cleanup, remove unneeded #defines. 2008-10-20 19:21:56 +0200 jcn r262468 : layoutdialogs2: Replace static casts with dynamic_cast, fixes layout::SfxTabDialog. Explicitly add 2 tabpages while adding tabpages, instead of relying on ResId. 2008-10-20 19:21:51 +0200 jcn r262467 : layoutdialogs2: Use cpp hacking to remove layout-tabdialog.hxx duplication. 2008-10-20 19:21:45 +0200 jcn r262466 : layoutdialogs2: Minimize diff between layout-tabdialog.hxx and tabdlg.hxx. 2008-10-20 19:21:41 +0200 jcn r262465 : layoutdialogs2: Remove copy of SfxTabDialog; use cpp logic to create both flavours. 2008-10-20 19:21:36 +0200 jcn r262464 : layoutdialogs2: Minimize diff between layout/sfxtabdialog.cxx and source/tabdlg.cxx. This enables the next step: use cpp logic instead of code duplication. 2008-10-20 19:21:31 +0200 jcn r262463 : layoutdialogs2: Hello world on layout::SfxTabDialog. 2008-10-20 19:21:24 +0200 jcn r262462 : layoutdialogs2: Nice `Compiling:' message that shows the file being compiled. 2008-10-20 19:21:20 +0200 jcn r262461 : layoutdialogs2: Use layout::SfxTabDialog for sort options. 2008-10-20 19:21:15 +0200 jcn r262460 : layoutdialogs2: Update sort options tab. 2008-10-20 19:21:10 +0200 jcn r262459 : layoutdialogs2: Add layout::SfxTabDialog. 2008-10-20 19:21:04 +0200 jcn r262458 : layoutdialogs2: Cleanup previous attempt using layout::SfxTabPage == layout::TabPage. 2008-10-20 19:20:57 +0200 jcn r262457 : layoutdialogs2: Windows 2003 compile fixes, i#92397. 2008-10-20 19:20:52 +0200 jcn r262456 : layoutdialogs2: Set default radiogroup when none provided. 2008-10-20 19:20:48 +0200 jcn r262455 : layoutdialogs2: Add radiogroup to sort-options. Fixes crasher. 2008-10-20 19:20:43 +0200 jcn r262454 : layoutdialogs2: Cleanup ParentSet fix. 2008-10-20 19:20:36 +0200 jcn r262453 : layoutdialogs2: Add debugging in ParentSet. Works standalone, not integrated. 2008-10-20 19:20:31 +0200 jcn r262452 : layoutdialogs2: Revert "Have InPlug not derive from Window, but have as member." This reverts commit 50ea26eec3fe14943f24900081ad923e72550345. 2008-10-20 19:20:25 +0200 jcn r262451 : layoutdialogs2: Have InPlug not derive from Window, but have as member. 2008-10-20 19:20:20 +0200 jcn r262450 : layoutdialogs2: Move layout plugin implementation from layout::SfxTabPage to InPlug. 2008-10-20 19:20:14 +0200 jcn r262449 : layoutdialogs2: Get all widgets to display in sfxtabpage plugin with Window::SetParent hack. 2008-10-20 19:20:09 +0200 jcn r262448 : layoutdialogs2: Two-button manual hello world with sfxtabpage plugin. 2008-10-20 19:20:03 +0200 jcn r262447 : layoutdialogs2: WIP: layout::SfxTabPage derived from SfxTabPage. 2008-10-20 19:19:55 +0200 jcn r262446 : layoutdialogs2: Always set parent after construction, fixes listbox dropdown. 2008-10-20 19:19:51 +0200 jcn r262445 : layoutdialogs2: Fix radio button crasher. 2008-10-20 19:19:47 +0200 jcn r262444 : layoutdialogs2: Implement ListBox method wrappers. Fixes filling of listbox. 2008-10-20 19:19:42 +0200 jcn r262443 : layoutdialogs2: Convert Move/Copy sheet to layout engine. 2008-10-20 19:19:35 +0200 jcn r262442 : layoutdialogs2: Also hide yes/no buttons if not used. 2008-10-20 19:19:31 +0200 jcn r262441 : layoutdialogs2: Elaborate on changing client code. 2008-10-20 19:19:26 +0200 jcn r262440 : layoutdialogs2: Implement winbits client-code compatibility for Message Boxes. 2008-10-20 19:19:21 +0200 jcn r262439 : layoutdialogs2: Add localize.sdf to toolkit uiconfig. Fixes build. 2008-10-20 19:19:17 +0200 jcn r262438 : layoutdialogs2: Do not use ti_layout twice in toolkit build.lst. Fixes build. 2008-10-20 19:19:13 +0200 jcn r262437 : layoutdialogs2: Oops, also dist toolkit-layout.zip. 2008-10-20 19:19:09 +0200 jcn r262436 : layoutdialogs2: Move layout.mk to solenv. 2008-10-20 19:19:03 +0200 jcn r262435 : layoutdialogs2: Add handy TEST file. 2008-10-20 19:18:58 +0200 jcn r262434 : layoutdialogs2: Implement MessageBox and wrappers ErrorBox, InfoBox, QueryBox, WarningBox. 2008-10-20 19:18:52 +0200 jcn r262433 : layoutdialogs2: QueryBox without image used for Delete Sheet dialog. 2008-10-20 19:18:46 +0200 jcn r262432 : layoutdialogs2: WIP QueryBox. 2008-10-20 19:18:39 +0200 jcn r262431 : layoutdialogs2: Add insert-sheet localization. 2008-10-20 19:18:34 +0200 jcn r262430 : layoutdialogs2: Run indent-region on zoom.xml, distribute it. 2008-10-20 19:18:30 +0200 jcn r262429 : layoutdialogs2: Dist xml files too. 2008-10-20 19:18:26 +0200 jcn r262428 : layoutdialogs2: Add insert-sheet.xml to workben. 2008-10-20 19:18:22 +0200 jcn r262427 : layoutdialogs2: Update layout TODO. 2008-10-20 19:18:18 +0200 jcn r262426 : layoutdialogs2: Cleanups and add comments. 2008-10-20 19:18:13 +0200 jcn r262425 : layoutdialogs2: Keep RadioButtons::RadioButton callback at HEAD of list. Fixes radiobutton grouping. 2008-10-20 19:18:07 +0200 jcn r262424 : layoutdialogs2: Remove IMPORT_RADIOGROUP cruft. 2008-10-20 19:18:02 +0200 jcn r262423 : layoutdialogs2: Have code check fire event for radio button. Fixes radio button grouping. 2008-10-20 19:17:58 +0200 jcn r262422 : layoutdialogs2: Enable IMPORT_RADIOGROUP flag. 2008-10-20 19:17:54 +0200 jcn r262421 : layoutdialogs2: Add radio groups to zoom.xml. 2008-10-20 19:17:50 +0200 jcn r262420 : layoutdialogs2: Move RadioGroup implementation to cxx file. 2008-10-20 19:17:45 +0200 jcn r262419 : layoutdialogs2: Manually set help id for insert table. 2008-10-20 19:17:41 +0200 jcn r262418 : layoutdialogs2: Cosmetic fixes for insert-sheet. 2008-10-20 19:17:37 +0200 jcn r262417 : layoutdialogs2: FindAndRemove now also skips translation prefix. Fixes setting of title etc. from nontranslated xml. 2008-10-20 19:17:32 +0200 jcn r262416 : layoutdialogs2: Manually set help id for zoom and wordcount dialogs. 2008-10-20 19:17:27 +0200 jcn r262415 : layoutdialogs2: Set help-id from xml. 2008-10-20 19:17:21 +0200 jcn r262414 : layoutdialogs2: Move -DENABLE_LAYOUT from stray makefiles to settings.mk. 2008-10-20 19:17:13 +0200 jcn r262413 : layoutdialogs2: Initial conversion of insert-sheet dialog. 2008-10-20 19:17:08 +0200 jcn r262412 : layoutdialogs2: Add wrappers for {Get,Set}{Pointer,Text}. 2008-10-20 19:17:04 +0200 jcn r262411 : layoutdialogs2: Toolkit layout dialog copy updates. 2008-10-20 19:16:59 +0200 jcn r262410 : layoutdialogs2: Cleanup #include <layout*> disaster. Fixes multiple inclusions of layout-pre, layout-post. 2008-10-20 19:16:53 +0200 jcn r262409 : layoutdialogs2: Implement Get,Set{,Smart}HelpId (). 2008-10-20 19:16:49 +0200 jcn r262408 : layoutdialogs2: Make some getters const. 2008-10-20 19:16:45 +0200 jcn r262407 : layoutdialogs2: Manual tweaks for string-input.xml. 2008-10-20 19:16:40 +0200 jcn r262406 : layoutdialogs2: Add string-input.xml. 2008-10-20 19:16:36 +0200 jcn r262405 : layoutdialogs2: Add dummy implementation for SetHelpId etc. 2008-10-20 19:16:32 +0200 jcn r262404 : layoutdialogs2: Actually say *what* file cannot be copied *where*. Sigh. 2008-10-20 19:16:27 +0200 jcn r262403 : layoutdialogs2: Thinko in macro name. Fixes compilation of strindlg.cxx. 2008-10-20 19:16:22 +0200 jcn r262402 : layoutdialogs2: Add layout includes to stringdlg and makefile. 2008-10-20 19:16:17 +0200 jcn r262401 : layoutdialogs2: Add sc/uiconfig/layout/localize.sdf 2008-10-20 19:16:13 +0200 jcn r262400 : layoutdialogs2: Oops, build sc/uiconfig/layout. 2008-10-20 19:16:09 +0200 jcn r262399 : layoutdialogs2: Have virtual destructor on Context, delete TabPage when deleting TabDialog. 2008-10-20 19:16:04 +0200 jcn r262398 : layoutdialogs2: Actually delete layout::TabPage objects when deleting SfxTabdialog. 2008-10-20 19:16:00 +0200 jcn r262397 : layoutdialogs2: Workaround for second invocation crash of sort dialog options tab. 2008-10-20 19:15:56 +0200 jcn r262396 : layoutdialogs2: Handle Reset button. 2008-10-20 19:15:51 +0200 jcn r262395 : layoutdialogs2: Also install sc xml zip file. 2008-10-20 19:15:46 +0200 jcn r262394 : layoutdialogs2: Integrate sort-options into sc. 2008-10-20 19:15:41 +0200 jcn r262393 : layoutdialogs2: Revert "Fix sfx2 compile warnings." This reverts commit 8b55d402af7bd217db35f67b02dc92f93f3ada5d. 2008-10-20 19:15:34 +0200 jcn r262392 : layoutdialogs2: Remove debuging. 2008-10-20 19:15:30 +0200 jcn r262391 : layoutdialogs2: Pass set argument to layout::TabPage. Fixes OO.o integration crasher. 2008-10-20 19:15:24 +0200 jcn r262390 : layoutdialogs2: Ignore more. 2008-10-20 19:15:20 +0200 jcn r262389 : layoutdialogs2: Oops, make just one (1) sort-options tab. 2008-10-20 19:15:15 +0200 jcn r262388 : layoutdialogs2: Revert macroconf compile warnings. 2008-10-20 19:15:09 +0200 jcn r262387 : layoutdialogs2: Fix sfx2 compile warnings. 2008-10-20 19:15:01 +0200 jcn r262386 : layoutdialogs2: Collapsed tabpage and sort-options development. 2008-10-20 19:14:51 +0200 jcn r262385 : layoutdialogs2: Make dev300/src680 install layout switchable at compile time. 2008-10-20 19:14:47 +0200 jcn r262384 : layoutdialogs2: Update README, add README. 2008-10-20 19:14:43 +0200 jcn r262383 : layoutdialogs2: Repainting, hiding stuff. 2008-10-20 19:14:38 +0200 jcn r262382 : layoutdialogs2: Add allocateArea to VCLXTabPage. 2008-10-20 19:14:34 +0200 jcn r262381 : layoutdialogs2: Revert "Use VCLXContainer as base for VCLXTabPage." This reverts commit 06a984434d0d2c356fd0cdaf96d6d613d5147b7c. 2008-10-20 19:14:30 +0200 jcn r262380 : layoutdialogs2: Use VCLXContainer as base for VCLXTabPage. 2008-10-20 19:14:26 +0200 jcn r262379 : layoutdialogs2: Revert "Derive VCLXTabPage from VBox." This reverts commit 8ab66364bdc08151ce2c982c1aa03f7881d86b84. 2008-10-20 19:14:22 +0200 jcn r262378 : layoutdialogs2: Derive VCLXTabPage from VBox. 2008-10-20 19:14:17 +0200 jcn r262377 : layoutdialogs2: More cleanups and testing. 2008-10-20 19:14:12 +0200 jcn r262376 : layoutdialogs2: Get layout tabpage to nicely select. No content visible, though. 2008-10-20 19:14:07 +0200 jcn r262375 : layoutdialogs2: Support ScTabPageSortOptions in standalone test. 2008-10-20 19:14:02 +0200 jcn r262374 : layoutdialogs2: Support tabpage creation from xml. 2008-10-20 19:13:56 +0200 jcn r262373 : layoutdialogs2: Remove most TEST_LAYOUT conditionals. 2008-10-20 19:13:52 +0200 jcn r262372 : layoutdialogs2: Remove Args effort. 2008-10-20 19:13:48 +0200 jcn r262371 : layoutdialogs2: Attempt to create ArgSet. 2008-10-20 19:13:44 +0200 jcn r262370 : layoutdialogs2: Compile more. 2008-10-20 19:13:39 +0200 jcn r262369 : layoutdialogs2: Add sortdlg. 2008-10-20 19:13:35 +0200 jcn r262368 : layoutdialogs2: Oops, ID fix. 2008-10-20 19:13:30 +0200 jcn r262367 : layoutdialogs2: Build fix. 2008-10-20 19:13:26 +0200 jcn r262366 : layoutdialogs2: Revert "Use ::Window for plugin base iso ::Control." This reverts commit 919ddaf2f52ad5e4df877a094cd1e336888d6210. 2008-10-20 19:13:21 +0200 jcn r262365 : layoutdialogs2: Plugin dialog cleanups. 2008-10-20 19:13:17 +0200 jcn r262364 : layoutdialogs2: Use ::Window for plugin base iso ::Control. 2008-10-20 19:13:12 +0200 jcn r262363 : layoutdialogs2: Use cstdio, remove cruft. 2008-10-20 19:13:07 +0200 jcn r262362 : layoutdialogs2: Remove cruft. 2008-10-20 19:13:02 +0200 jcn r262361 : layoutdialogs2: Remove sizing mess. 2008-10-20 19:12:57 +0200 jcn r262360 : layoutdialogs2: Trigger [re]draw of DialControl. 2008-10-20 19:12:53 +0200 jcn r262359 : layoutdialogs2: DialControl window behaves nicely and invisible. 2008-10-20 19:12:48 +0200 jcn r262358 : layoutdialogs2: Revert adding of setparent. 2008-10-20 19:12:43 +0200 jcn r262357 : layoutdialogs2: Add dialog::setparent to plugin. 2008-10-20 19:12:39 +0200 jcn r262356 : layoutdialogs2: Add a setProperty for VCLXPlugin. 2008-10-20 19:12:34 +0200 jcn r262355 : layoutdialogs2: Unhide plugin. 2008-10-20 19:12:30 +0200 jcn r262354 : layoutdialogs2: Revert. 2008-10-20 19:12:25 +0200 jcn r262353 : layoutdialogs2: Use window instead of control. 2008-10-20 19:12:20 +0200 jcn r262352 : layoutdialogs2: Lots of plugin settings. 2008-10-20 19:12:16 +0200 jcn r262351 : layoutdialogs2: More hacks. 2008-10-20 19:12:11 +0200 jcn r262350 : layoutdialogs2: Compile fixes. 2008-10-20 19:12:05 +0200 jcn r262349 : layoutdialogs2: Use c++ includes. 2008-10-20 19:12:00 +0200 jcn r262348 : layoutdialogs2: Junk UnoTunnel nonsense. 2008-10-20 19:11:55 +0200 jcn r262347 : layoutdialogs2: Remove more cruft. 2008-10-20 19:11:50 +0200 jcn r262346 : layoutdialogs2: Remove cruft. 2008-10-20 19:11:44 +0200 jcn r262345 : layoutdialogs2: Rename wrap to plugin. 2008-10-20 19:11:39 +0200 jcn r262344 : layoutdialogs2: All sorry tries. 2008-10-20 19:11:33 +0200 jcn r262343 : layoutdialogs2: Rename plugin to wrap. 2008-10-20 19:11:28 +0200 jcn r262342 : layoutdialogs2: Add ifdefs, no UNOTUNNEL, no crash on exit. 2008-10-20 19:11:23 +0200 jcn r262341 : layoutdialogs2: Redo all kind of Uno and XIface weirdness. 2008-10-20 19:11:17 +0200 jcn r262340 : layoutdialogs2: Remove extra UnoTunnel. 2008-10-20 19:11:12 +0200 jcn r262339 : layoutdialogs2: Plugin hello world. TODO: parenting/owning/sizing, ... etc. 2008-10-20 19:11:06 +0200 jcn r262338 : layoutdialogs2: Zoom updates. 2008-10-20 19:11:01 +0200 jcn r262337 : layoutdialogs2: Add missing controls. 2008-10-20 19:10:56 +0200 jcn r262336 : layoutdialogs2: Add .gitignore.
Diffstat (limited to 'sfx2')
-rw-r--r--sfx2/inc/sfx2/layout-post.hxx44
-rw-r--r--sfx2/inc/sfx2/layout-pre.hxx53
-rw-r--r--sfx2/inc/sfx2/layout-tabdlg.hxx49
-rw-r--r--sfx2/inc/sfx2/layout.hxx80
-rw-r--r--sfx2/inc/sfx2/sfxdlg.hxx5
-rw-r--r--sfx2/inc/sfx2/tabdlg.hxx49
-rw-r--r--sfx2/prj/build.lst3
-rw-r--r--sfx2/prj/d.lst4
-rw-r--r--sfx2/source/dialog/tabdlg.cxx218
-rw-r--r--sfx2/source/layout/factory.cxx71
-rw-r--r--sfx2/source/layout/makefile.mk60
-rw-r--r--sfx2/source/layout/sfxdialog.cxx41
-rw-r--r--sfx2/source/layout/sfxtabdialog.cxx75
-rw-r--r--sfx2/source/layout/sfxtabpage.cxx91
-rw-r--r--sfx2/util/makefile.mk4
15 files changed, 749 insertions, 98 deletions
diff --git a/sfx2/inc/sfx2/layout-post.hxx b/sfx2/inc/sfx2/layout-post.hxx
new file mode 100644
index 000000000000..f7638511f2be
--- /dev/null
+++ b/sfx2/inc/sfx2/layout-post.hxx
@@ -0,0 +1,44 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile$
+ *
+ * $Revision$
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SFX2_LAYOUT_POST_HXX
+#define _SFX2_LAYOUT_POST_HXX
+
+#include <layout/layout-post.hxx>
+
+#if ENABLE_LAYOUT
+
+/* Allow re-inclusion for cxx file. */
+#undef _SFX2_LAYOUT_PRE_HXX
+
+#endif /* ENABLE_LAYOUT */
+
+#endif /* _SFX2_LAYOUT_POST_HXX */
diff --git a/sfx2/inc/sfx2/layout-pre.hxx b/sfx2/inc/sfx2/layout-pre.hxx
new file mode 100644
index 000000000000..ddfe7a02f622
--- /dev/null
+++ b/sfx2/inc/sfx2/layout-pre.hxx
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile$
+ *
+ * $Revision$
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SFX2_LAYOUT_PRE_HXX
+#define _SFX2_LAYOUT_PRE_HXX
+
+#include <layout/layout-pre.hxx>
+
+#if ENABLE_LAYOUT
+
+///* Allow re-inclusion for next hxx file. */
+#undef _SFX2_LAYOUT_POST_HXX
+
+#undef SfxDialog
+#undef SfxModalDialog
+#undef SfxModelessDialog
+
+#define SfxDialog layout::SfxDialog
+
+#define SfxModalDialog SfxDialog
+#define SfxModelessDialog SfxDialog
+
+#endif /* ENABLE_LAYOUT */
+
+#endif /* _SFX2_LAYOUT_PRE_HXX */
diff --git a/sfx2/inc/sfx2/layout-tabdlg.hxx b/sfx2/inc/sfx2/layout-tabdlg.hxx
new file mode 100644
index 000000000000..c1cbd77e5339
--- /dev/null
+++ b/sfx2/inc/sfx2/layout-tabdlg.hxx
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: tabdlg.hxx,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _LAYOUT_SFX_TABDLG_HXX
+#define _LAYOUT_SFX_TABDLG_HXX
+
+#undef ENABLE_LAYOUT_SFX_TABDIALOG
+#define ENABLE_LAYOUT_SFX_TABDIALOG 1
+
+#undef NAMESPACE_LAYOUT_SFX_TABDIALOG
+#define NAMESPACE_LAYOUT_SFX_TABDIALOG namespace layout {
+
+#undef END_NAMESPACE_LAYOUT_SFX_TABDIALOG
+#define END_NAMESPACE_LAYOUT_SFX_TABDIALOG } //end namespace layout
+
+#undef LAYOUT_NS_SFX_TABDIALOG
+#define LAYOUT_NS_SFX_TABDIALOG layout::
+
+#undef _SFXTABDLG_HXX
+#include <sfx2/tabdlg.hxx>
+
+#endif /* _LAYOUT_SFX_TABDLG_HXX */
+
diff --git a/sfx2/inc/sfx2/layout.hxx b/sfx2/inc/sfx2/layout.hxx
new file mode 100644
index 000000000000..f71809aac1ba
--- /dev/null
+++ b/sfx2/inc/sfx2/layout.hxx
@@ -0,0 +1,80 @@
+/*************************************************************************
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2008 by Sun Microsystems, Inc.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* $RCSfile: code,v $
+*
+* $Revision: 1.3 $
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+************************************************************************/
+
+#ifndef _SFX2_LAYOUT_HXX
+#define _SFX2_LAYOUT_HXX
+
+#include <layout/layout.hxx>
+#include <sfx2/tabdlg.hxx>
+#if ENABLE_LAYOUT
+#undef ENABLE_LAYOUT_SFX_TABDIALOG
+#define ENABLE_LAYOUT_SFX_TABDIALOG 1
+#include <sfx2/layout-tabdlg.hxx>
+#endif
+
+class SfxChildWindow;
+class SfxBindings;
+
+namespace layout
+{
+
+class SFX2_DLLPUBLIC SfxDialog
+ : public Dialog
+{
+public:
+ SfxDialog (::Window* parent, char const* xml_file, char const* id, SfxBindings* bindings=0, SfxChildWindow* child=0);
+};
+
+#if 0
+class SFX2_DLLPUBLIC SfxTabDialog
+ : public ::SfxTabDialog
+ , public InPlug
+{
+public:
+ SfxTabDialog (::Window *parent, char const* xml_file, char const* id, ResId const& res_id, SfxItemSet const* set=0);
+ ::Window* GetParent () const;
+ void FreeResource ();
+};
+#endif
+
+class SFX2_DLLPUBLIC SfxTabPage
+ : public ::SfxTabPage
+ , public InPlug
+{
+public:
+ SfxTabPage (::Window *parent, char const* xml_file, char const* id, SfxItemSet const* set=0);
+ ::Window* GetParent () const;
+ using ::Window::GetWindow;
+ ::Window* GetWindow () const;
+ Size GetOptimalSize (WindowSizeType eType) const;
+ void FreeResource ();
+};
+} // end namespace layout
+
+#endif /* _SFX2_LAYOUT_HXX */
diff --git a/sfx2/inc/sfx2/sfxdlg.hxx b/sfx2/inc/sfx2/sfxdlg.hxx
index 1fca7d191b52..54be8d26ba7e 100644
--- a/sfx2/inc/sfx2/sfxdlg.hxx
+++ b/sfx2/inc/sfx2/sfxdlg.hxx
@@ -55,8 +55,9 @@ class SvObjectServerList;
class TransferableDataHelper;
struct TransferableObjectDescriptor;
-typedef SfxTabPage* (*CreateTabPage)(Window *pParent, const SfxItemSet &rAttrSet);
-typedef USHORT* (*GetTabPageRanges)();
+#include <sfx2/tabdlg.hxx>
+//typedef SfxTabPage* (*CreateTabPage)(Window *pParent, const SfxItemSet &rAttrSet);
+//typedef USHORT* (*GetTabPageRanges)();
namespace sfx2
{
diff --git a/sfx2/inc/sfx2/tabdlg.hxx b/sfx2/inc/sfx2/tabdlg.hxx
index ef1110bbdd45..3cac4227116f 100644
--- a/sfx2/inc/sfx2/tabdlg.hxx
+++ b/sfx2/inc/sfx2/tabdlg.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: tabdlg.hxx,v $
- * $Revision: 1.4.104.1 $
+ * $Revision: 1.4 $
*
* This file is part of OpenOffice.org.
*
@@ -34,31 +34,45 @@
#include "sfx2/dllapi.h"
#include "sal/types.h"
#include <vcl/tabdlg.hxx>
-#ifndef _SV_BUTTON_HXX //autogen
#include <vcl/button.hxx>
-#endif
#include <vcl/tabctrl.hxx>
#include <vcl/tabpage.hxx>
#include <svtools/itempool.hxx>
#include <svtools/itemset.hxx>
#include <com/sun/star/frame/XFrame.hpp>
+#if ENABLE_LAYOUT
+#include <layout/layout.hxx>
+namespace layout { class SfxTabDialog; class SfxTabDialogController; }
+#endif /* ENABLE_LAYOUT */
+
class SfxPoolItem;
class SfxTabDialog;
class SfxViewFrame;
class SfxTabPage;
class SfxBindings;
-// typedefs --------------------------------------------------------------
+#ifndef ENABLE_LAYOUT_SFX_TABDIALOG
+#define ENABLE_LAYOUT_SFX_TABDIALOG 0
+#define NAMESPACE_LAYOUT_SFX_TABDIALOG
+#define END_NAMESPACE_LAYOUT_SFX_TABDIALOG
+#define LAYOUT_NS_SFX_TABDIALOG
+#endif /* !ENABLE_LAYOUT_SFX_TABDIALOG*/
typedef SfxTabPage* (*CreateTabPage)(Window *pParent, const SfxItemSet &rAttrSet);
typedef USHORT* (*GetTabPageRanges)(); // liefert internationale Which-Wert
-
-struct TabDlg_Impl;
struct TabPageImpl;
class SfxUs_Impl;
-// class SfxTabDialog ----------------------------------------------------
+#if ENABLE_LAYOUT_SFX_TABDIALOG
+#include <layout/layout-pre.hxx>
+#undef SfxTabDialog
+#undef SfxTabPage
+#endif /* ENABLE_LAYOUT_SFX_TABDIALOG */
+
+NAMESPACE_LAYOUT_SFX_TABDIALOG
+
+struct TabDlg_Impl;
#define ID_TABCONTROL 1
#define RET_USER 100
@@ -128,7 +142,7 @@ protected:
handles the item sets to copy.
@return TRUE if it is allowed to leave the current page, FALSE otherwise
*/
- BOOL PrepareLeaveCurrentPage();
+ bool PrepareLeaveCurrentPage();
public:
SfxTabDialog( Window* pParent, const ResId &rResId, USHORT nSetId, SfxBindings& rBindings,
@@ -181,7 +195,7 @@ public:
const SfxItemSet* GetOutputItemSet() const { return pOutSet; }
const SfxItemSet* GetOutputItemSet( USHORT nId ) const;
int FillOutputItemSet();
- BOOL IsFormat() const { return bFmt; }
+ BOOL IsFormat() const { return bFmt; }
const OKButton& GetOKButton() const { return aOKBtn; }
OKButton& GetOKButton() { return aOKBtn; }
@@ -203,7 +217,11 @@ public:
void StartExecuteModal( const Link& rEndDialogHdl );
void Start( BOOL bShow = TRUE );
+#if !ENABLE_LAYOUT_SFX_TABDIALOG
const SfxItemSet* GetExampleSet() const { return pExampleSet; }
+#else /* ENABLE_LAYOUT_SFX_TABDIALOG */
+ SfxItemSet* GetExampleSet() const { return 0; }
+#endif /* ENABLE_LAYOUT_SFX_TABDIALOG */
SfxViewFrame* GetViewFrame() const { return pFrame; }
void EnableApplyButton(BOOL bEnable = TRUE);
@@ -217,13 +235,22 @@ public:
//#endif
};
-// class SfxTabPage ------------------------------------------------------
+END_NAMESPACE_LAYOUT_SFX_TABDIALOG
+
+#if ENABLE_LAYOUT_SFX_TABDIALOG
+#include <layout/layout-post.hxx>
+#endif /* ENABLE_LAYOUT_SFX_TABDIALOG */
+
+#if !ENABLE_LAYOUT_SFX_TABDIALOG
namespace sfx { class ItemConnectionBase; }
class SFX2_DLLPUBLIC SfxTabPage: public TabPage
{
friend class SfxTabDialog;
+ #if ENABLE_LAYOUT
+ friend class layout::SfxTabDialog;
+ #endif
private:
const SfxItemSet* pSet;
@@ -288,5 +315,7 @@ public:
::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > GetFrame();
};
+#endif /* !ENABLE_LAYOUT_SFX_TABDIALOG */
+
#endif
diff --git a/sfx2/prj/build.lst b/sfx2/prj/build.lst
index d762a1d14a60..72ba4ac0af64 100644
--- a/sfx2/prj/build.lst
+++ b/sfx2/prj/build.lst
@@ -13,10 +13,11 @@ sf sfx2\source\config nmake - all sf_cnfg sf_sdi sf_inc NULL
sf sfx2\source\control nmake - all sf_ctrl sf_sdi sf_inc NULL
sf sfx2\source\dialog nmake - all sf_dlg sf_sdi sf_inc NULL
sf sfx2\source\doc nmake - all sf_doc sf_sdi sf_inc NULL
+sf sfx2\source\layout nmake - all sf_layout sf_sdi sf_inc NULL
sf sfx2\source\menu nmake - all sf_menu sf_sdi sf_inc NULL
sf sfx2\source\notify nmake - all sf_noti sf_sdi sf_inc NULL
sf sfx2\source\statbar nmake - all sf_sbar sf_sdi sf_inc NULL
sf sfx2\source\toolbox nmake - all sf_tbox sf_sdi sf_inc NULL
sf sfx2\source\inet nmake - all sf_inet sf_sdi sf_inc NULL
sf sfx2\source\explorer nmake - all sf_expl sf_sdi sf_inc NULL
-sf sfx2\util nmake - all sf_util sf_appl sf_bast sf_cnfg sf_ctrl sf_dlg sf_doc sf_expl sf_inet sf_menu sf_noti sf_sbar sf_tbox sf_view NULL
+sf sfx2\util nmake - all sf_util sf_appl sf_bast sf_cnfg sf_ctrl sf_dlg sf_doc sf_expl sf_inet sf_menu sf_layout sf_noti sf_sbar sf_tbox sf_view NULL
diff --git a/sfx2/prj/d.lst b/sfx2/prj/d.lst
index 03d2c0101ede..53ed0df0aa7f 100644
--- a/sfx2/prj/d.lst
+++ b/sfx2/prj/d.lst
@@ -126,3 +126,7 @@ mkdir: %_DEST%\inc%_EXT%\sfx2
..\inc\QuerySaveDocument.hxx %_DEST%\inc%_EXT%\sfx2\QuerySaveDocument.hxx
..\inc\mailmodelapi.hxx %_DEST%\inc%_EXT%\sfx2\mailmodelapi.hxx
..\inc\docinsert.hxx %_DEST%\inc%_EXT%\sfx2\docinsert.hxx
+..\inc\sfx2\layout.hxx %_DEST%\inc%_EXT%\sfx2\layout.hxx
+..\inc\sfx2\layout-tabdlg.hxx %_DEST%\inc%_EXT%\sfx2\layout-tabdlg.hxx
+..\inc\sfx2\layout-post.hxx %_DEST%\inc%_EXT%\sfx2\layout-post.hxx
+..\inc\sfx2\layout-pre.hxx %_DEST%\inc%_EXT%\sfx2\layout-pre.hxx
diff --git a/sfx2/source/dialog/tabdlg.cxx b/sfx2/source/dialog/tabdlg.cxx
index 625c8956d1c9..80f0daba71b9 100644
--- a/sfx2/source/dialog/tabdlg.cxx
+++ b/sfx2/source/dialog/tabdlg.cxx
@@ -31,19 +31,14 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sfx2.hxx"
-// include ---------------------------------------------------------------
-
#include <limits.h>
#include <stdlib.h>
#include <vcl/msgbox.hxx>
#include <svtools/viewoptions.hxx>
-#ifndef GCC
-#endif
#define _SVSTDARR_USHORTS
#include <svtools/svstdarr.hxx>
-// wg. nAutoPageID
#include "appdata.hxx"
#include "sfxtypes.hxx"
#include <sfx2/minarray.hxx>
@@ -60,15 +55,31 @@
#include "dialog.hrc"
#include "helpid.hrc"
-// for OUString and Any
+#if ENABLE_LAYOUT_SFX_TABDIALOG
+#undef TabPage
+#undef SfxTabPage
+#define SfxTabPage ::SfxTabPage
+#undef SfxTabDialog
+#endif /* ENABLE_LAYOUT_SFX_TABDIALOG */
+
using namespace ::com::sun::star::uno;
using namespace ::rtl;
#define USERITEM_NAME OUString::createFromAscii( "UserItem" )
-/* -----------------------------------------------------------------
- Verwaltungsdatenstruktur f"ur jede Seite
- ----------------------------------------------------------------- */
+TYPEINIT1(LAYOUT_NS_SFX_TABDIALOG SfxTabDialogItem,SfxSetItem);
+
+struct TabPageImpl
+{
+ BOOL mbStandard;
+ sfx::ItemConnectionArray maItemConn;
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > mxFrame;
+
+ TabPageImpl() : mbStandard( FALSE ) {}
+};
+
+NAMESPACE_LAYOUT_SFX_TABDIALOG
+
struct Data_Impl
{
USHORT nId; // Die ID
@@ -101,8 +112,6 @@ struct Data_Impl
}
};
-TYPEINIT1(SfxTabDialogItem,SfxSetItem);
-
SfxTabDialogItem::SfxTabDialogItem( const SfxTabDialogItem& rAttr, SfxItemPool* pItemPool )
: SfxSetItem( rAttr, pItemPool )
{
@@ -171,7 +180,7 @@ void SfxTabDialogController::StateChanged( USHORT /*nSID*/, SfxItemState /*eStat
for ( USHORT n=0; n<pDialog->aTabCtrl.GetPageCount(); n++ )
{
USHORT nPageId = pDialog->aTabCtrl.GetPageId( n );
- SfxTabPage* pTabPage = (SfxTabPage*) pDialog->aTabCtrl.GetTabPage( nPageId );
+ SfxTabPage* pTabPage = dynamic_cast<SfxTabPage*> (pDialog->aTabCtrl.GetTabPage( nPageId ));
if ( pTabPage )
{
pTabPage->Reset( pSetItem->GetItemSet() );
@@ -211,32 +220,6 @@ struct TabDlg_Impl
{}
};
-struct TabPageImpl
-{
- BOOL mbStandard;
- sfx::ItemConnectionArray maItemConn;
- ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > mxFrame;
-
- TabPageImpl() : mbStandard( FALSE ) {}
-};
-
-void SfxTabPage::SetFrame(const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& xFrame)
-{
- if (pImpl)
- pImpl->mxFrame = xFrame;
-}
-
-::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > SfxTabPage::GetFrame()
-{
- if (pImpl)
- return pImpl->mxFrame;
- return ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >();
-}
-
-
-/* -----------------------------------------------------------------
- Hilfsfunktion: Finden einer Page anhand seiner Id
- ----------------------------------------------------------------- */
Data_Impl* Find( SfxTabDlgData_Impl& rArr, USHORT nId, USHORT* pPos = 0 );
Data_Impl* Find( SfxTabDlgData_Impl& rArr, USHORT nId, USHORT* pPos )
@@ -257,7 +240,20 @@ Data_Impl* Find( SfxTabDlgData_Impl& rArr, USHORT nId, USHORT* pPos )
return 0;
}
-// class SfxTabPage-------------------------------------------------------
+#if !ENABLE_LAYOUT_SFX_TABDIALOG
+
+void SfxTabPage::SetFrame(const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& xFrame)
+{
+ if (pImpl)
+ pImpl->mxFrame = xFrame;
+}
+
+::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > SfxTabPage::GetFrame()
+{
+ if (pImpl)
+ return pImpl->mxFrame;
+ return ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >();
+}
SfxTabPage::SfxTabPage( Window *pParent,
const ResId &rResId, const SfxItemSet &rAttrSet ) :
@@ -295,7 +291,9 @@ SfxTabPage::~SfxTabPage()
*/
{
+#if !ENABLE_LAYOUT
delete pImpl;
+#endif /* ENABLE_LAYOUT */
}
// -----------------------------------------------------------------------
@@ -467,7 +465,22 @@ void SfxTabPage::AddItemConnection( sfx::ItemConnectionBase* pConnection )
pImpl->maItemConn.AddConnection( pConnection );
}
-// class SfxTabDialog ----------------------------------------------------
+#endif /* !ENABLE_LAYOUT_SFX_TABDIALOG */
+
+#if ENABLE_LAYOUT_SFX_TABDIALOG
+#undef ResId
+#define ResId(id, foo) #id
+#undef TabDialog
+#define TabDialog(parent, res_id) Dialog (parent, "tab-dialog.xml", "tab-dialog")
+
+#define aOKBtn(this) aOKBtn (this, "BTN_OK")
+#undef PushButton
+#define PushButton(this) layout::PushButton (this, "BTN_USER")
+#define aCancelBtn(this) aCancelBtn (this, "BTN_CANCEL")
+#define aHelpBtn(this) aHelpBtn (this, "BTN_HELP")
+#define aResetBtn(this) aResetBtn (this, "BTN_RESET")
+#define aBaseFmtBtn(this) aBaseFmtBtn (this, "BTN_BASEFMT")
+#endif /* ENABLE_LAYOUT_SFX_TABDIALOG */
#define INI_LIST(ItemSetPtr) \
aTabCtrl ( this, ResId(ID_TABCONTROL,*rResId.GetResMgr() ) ),\
@@ -578,11 +591,24 @@ SfxTabDialog::SfxTabDialog
// -----------------------------------------------------------------------
+#if ENABLE_LAYOUT_SFX_TABDIALOG
+#undef ResId
+#undef TabDialog
+#undef aOKBtn
+#undef PushButton
+#undef aCancelBtn
+#undef aHelpBtn
+#undef aResetBtn
+#undef aBaseFmtBtn
+#endif /* ENABLE_LAYOUT_SFX_TABDIALOG */
+
SfxTabDialog::~SfxTabDialog()
{
// save settings (screen position and current page)
SvtViewOptions aDlgOpt( E_TABDIALOG, String::CreateFromInt32( nResId ) );
+#if !ENABLE_LAYOUT_SFX_TABDIALOG
aDlgOpt.SetWindowState( OUString::createFromAscii( GetWindowState( WINDOWSTATE_MASK_POS ).GetBuffer() ) );
+#endif /* !ENABLE_LAYOUT_SFX_TABDIALOG */
aDlgOpt.SetPageID( aTabCtrl.GetCurPageId() );
const USHORT nCount = pImpl->pData->Count();
@@ -686,6 +712,11 @@ void SfxTabDialog::RemoveResetButton()
// -----------------------------------------------------------------------
+#if ENABLE_LAYOUT_SFX_TABDIALOG
+#undef TabDialog
+#define TabDialog Dialog
+#endif /* ENABLE_LAYOUT_SFX_TABDIALOG */
+
short SfxTabDialog::Execute()
{
if ( !aTabCtrl.GetPageCount() )
@@ -698,10 +729,14 @@ short SfxTabDialog::Execute()
void SfxTabDialog::StartExecuteModal( const Link& rEndDialogHdl )
{
+#if !ENABLE_LAYOUT_SFX_TABDIALOG
if ( !aTabCtrl.GetPageCount() )
return;
Start_Impl();
TabDialog::StartExecuteModal( rEndDialogHdl );
+#else
+ rEndDialogHdl.IsSet();
+#endif /* !ENABLE_LAYOUT_SFX_TABDIALOG */
}
// -----------------------------------------------------------------------
@@ -748,9 +783,10 @@ void SfxTabDialog::EnableApplyButton(BOOL bEnable)
if ( bEnable )
{
pImpl->pApplyButton = new PushButton( this );
+#if !ENABLE_LAYOUT_SFX_TABDIALOG
// in the z-order, the apply button should be behind the ok button, thus appearing at the right side of it
pImpl->pApplyButton->SetZOrder(&aOKBtn, WINDOW_ZORDER_BEHIND);
-
+#endif /* ENABLE_LAYOUT_SFX_TABDIALOG */
pImpl->pApplyButton->SetText( String( SfxResId( STR_APPLY ) ) );
pImpl->pApplyButton->Show();
@@ -762,9 +798,11 @@ void SfxTabDialog::EnableApplyButton(BOOL bEnable)
pImpl->pApplyButton = NULL;
}
+#if !ENABLE_LAYOUT_SFX_TABDIALOG
// adjust the layout
if (IsReallyShown())
AdjustLayout();
+#endif /* !ENABLE_LAYOUT_SFX_TABDIALOG */
}
// -----------------------------------------------------------------------
@@ -799,7 +837,9 @@ void SfxTabDialog::Start_Impl()
SvtViewOptions aDlgOpt( E_TABDIALOG, String::CreateFromInt32( nResId ) );
if ( aDlgOpt.Exists() )
{
+#if !ENABLE_LAYOUT_SFX_TABDIALOG
SetWindowState( ByteString( aDlgOpt.GetWindowState().getStr(), RTL_TEXTENCODING_ASCII_US ) );
+#endif /* !ENABLE_LAYOUT_SFX_TABDIALOG */
// initiale TabPage aus Programm/Hilfe/Konfig
nActPage = (USHORT)aDlgOpt.GetPageID();
@@ -1164,19 +1204,18 @@ IMPL_LINK( SfxTabDialog, OkHdl, Button *, EMPTYARG )
// -----------------------------------------------------------------------
-BOOL SfxTabDialog::PrepareLeaveCurrentPage()
+bool SfxTabDialog::PrepareLeaveCurrentPage()
{
- SfxTabPage* pPage =
- (SfxTabPage*)aTabCtrl.GetTabPage( aTabCtrl.GetCurPageId() );
-
+ USHORT const nId = aTabCtrl.GetCurPageId();
+ SfxTabPage* pPage = dynamic_cast<SfxTabPage*> (aTabCtrl.GetTabPage( nId ));
bool bEnd = !pPage;
+
if ( pPage )
{
int nRet = SfxTabPage::LEAVE_PAGE;
if ( pSet )
{
SfxItemSet aTmp( *pSet->GetPool(), pSet->GetRanges() );
- BOOL bRet = FALSE;
if ( pPage->HasExchangeSupport() )
nRet = pPage->DeactivatePage( &aTmp );
@@ -1189,8 +1228,6 @@ BOOL SfxTabDialog::PrepareLeaveCurrentPage()
pExampleSet->Put( aTmp );
pOutSet->Put( aTmp );
}
- else if ( bRet )
- pImpl->bModified |= TRUE;
}
else
nRet = pPage->DeactivatePage( NULL );
@@ -1215,37 +1252,7 @@ IMPL_LINK( SfxTabDialog, UserHdl, Button *, EMPTYARG )
*/
{
- SfxTabPage* pPage =
- (SfxTabPage *)aTabCtrl.GetTabPage( aTabCtrl.GetCurPageId() );
-
- FASTBOOL bEnd = !pPage;
-
- if ( pPage )
- {
- int nRet = SfxTabPage::LEAVE_PAGE;
-
- if ( pSet )
- {
- SfxItemSet aTmp( *pSet->GetPool(), pSet->GetRanges() );
-
- if ( pPage->HasExchangeSupport() )
- nRet = pPage->DeactivatePage( &aTmp );
- else
- nRet = pPage->DeactivatePage( NULL );
-
- if ( ( SfxTabPage::LEAVE_PAGE & nRet ) == SfxTabPage::LEAVE_PAGE
- && aTmp.Count() )
- {
- pExampleSet->Put( aTmp );
- pOutSet->Put( aTmp );
- }
- }
- else
- nRet = pPage->DeactivatePage( NULL );
- bEnd = nRet;
- }
-
- if ( bEnd )
+ if ( PrepareLeaveCurrentPage () )
{
short nRet = Ok();
@@ -1271,7 +1278,8 @@ IMPL_LINK( SfxTabDialog, ResetHdl, Button *, EMPTYARG )
*/
{
- Data_Impl* pDataObject = Find( *pImpl->pData, aTabCtrl.GetCurPageId() );
+ const USHORT nId = aTabCtrl.GetCurPageId();
+ Data_Impl* pDataObject = Find( *pImpl->pData, nId );
DBG_ASSERT( pDataObject, "Id nicht bekannt" );
if ( pDataObject->bOnDemand )
@@ -1365,6 +1373,12 @@ IMPL_LINK( SfxTabDialog, BaseFmtHdl, Button *, EMPTYARG )
// -----------------------------------------------------------------------
+#if ENABLE_LAYOUT_SFX_TABDIALOG
+#define tabControlWindow pTabCtrl->GetWindow ()
+#else /* !ENABLE_LAYOUT_SFX_TABDIALOG */
+#define tabControlWindow pTabCtrl
+#endif /* !ENABLE_LAYOUT_SFX_TABDIALOG */
+
IMPL_LINK( SfxTabDialog, ActivatePageHdl, TabControl *, pTabCtrl )
/* [Beschreibung]
@@ -1379,18 +1393,23 @@ IMPL_LINK( SfxTabDialog, ActivatePageHdl, TabControl *, pTabCtrl )
*/
{
+ USHORT const nId = pTabCtrl->GetCurPageId();
+
DBG_ASSERT( pImpl->pData->Count(), "keine Pages angemeldet" );
- const USHORT nId = pTabCtrl->GetCurPageId();
SFX_APP();
// Tab Page schon da?
- SfxTabPage* pTabPage = (SfxTabPage *)pTabCtrl->GetTabPage( nId );
+ SfxTabPage* pTabPage = dynamic_cast<SfxTabPage*> (pTabCtrl->GetTabPage( nId ));
Data_Impl* pDataObject = Find( *pImpl->pData, nId );
DBG_ASSERT( pDataObject, "Id nicht bekannt" );
// ggf. TabPage erzeugen:
if ( !pTabPage )
{
+#if ENABLE_LAYOUT_SFX_TABDIALOG
+ if (dynamic_cast<layout SfxTabPage*> (pTabPage))
+ layout::TabPage::global_parent = pTabCtrl->GetWindow ();
+#endif
const SfxItemSet* pTmpSet = 0;
if ( pSet )
@@ -1402,13 +1421,16 @@ IMPL_LINK( SfxTabDialog, ActivatePageHdl, TabControl *, pTabCtrl )
}
if ( pTmpSet && !pDataObject->bOnDemand )
- pTabPage = (pDataObject->fnCreatePage)( pTabCtrl, *pTmpSet );
+ pTabPage = (pDataObject->fnCreatePage)( tabControlWindow, *pTmpSet );
else
pTabPage = (pDataObject->fnCreatePage)
- ( pTabCtrl, *CreateInputItemSet( nId ) );
+ ( tabControlWindow, *CreateInputItemSet( nId ) );
DBG_ASSERT( NULL == pDataObject->pTabPage, "create TabPage more than once" );
pDataObject->pTabPage = pTabPage;
+
+#if !ENABLE_LAYOUT_SFX_TABDIALOG
pDataObject->pTabPage->SetTabDialog( this );
+#endif /* ENABLE_LAYOUT_SFX_TABDIALOG */
SvtViewOptions aPageOpt( E_TABPAGE, String::CreateFromInt32( pDataObject->nId ) );
String sUserData;
Any aUserItem = aPageOpt.GetUserItem( USERITEM_NAME );
@@ -1417,23 +1439,48 @@ IMPL_LINK( SfxTabDialog, ActivatePageHdl, TabControl *, pTabCtrl )
sUserData = String( aTemp );
pTabPage->SetUserData( sUserData );
Size aSiz = pTabPage->GetSizePixel();
+
+#if ENABLE_LAYOUT
+ Size optimalSize = pTabPage->GetOptimalSize (WINDOWSIZE_MINIMUM);
+#if ENABLE_LAYOUT_SFX_TABDIALOG
+ if (dynamic_cast<layout SfxTabPage*> (pTabPage))
+ {
+ if (optimalSize.Height () && optimalSize.Width ())
+ {
+ optimalSize.Width () = optimalSize.Width ();
+ optimalSize.Height () = optimalSize.Height () + 40;
+ }
+ }
+#endif /* ENABLE_LAYOUT_SFX_TABDIALOG */
+ if (optimalSize.Height () > 0 && optimalSize.Width () > 0 )
+ aSiz = optimalSize;
+#endif /* ENABLE_LAYOUT */
+
Size aCtrlSiz = pTabCtrl->GetTabPageSizePixel();
// Gr"o/se am TabControl nur dann setzen, wenn < als TabPage
if ( aCtrlSiz.Width() < aSiz.Width() ||
aCtrlSiz.Height() < aSiz.Height() )
+ {
pTabCtrl->SetTabPageSizePixel( aSiz );
+ }
+
PageCreated( nId, *pTabPage );
if ( pDataObject->bOnDemand )
pTabPage->Reset( (SfxItemSet &)pTabPage->GetItemSet() );
else
pTabPage->Reset( *pSet );
+
pTabCtrl->SetTabPage( nId, pTabPage );
}
else if ( pDataObject->bRefresh )
pTabPage->Reset( *pSet );
pDataObject->bRefresh = FALSE;
+#if ENABLE_LAYOUT_SFX_TABDIALOG
+ pTabCtrl->GetPagePos (nId);
+#endif /* ENABLE_LAYOUT_SFX_TABDIALOG */
+
if ( pExampleSet )
pTabPage->ActivatePage( *pExampleSet );
BOOL bReadOnly = pTabPage->IsReadOnly();
@@ -1457,7 +1504,7 @@ IMPL_LINK( SfxTabDialog, DeactivatePageHdl, TabControl *, pTabCtrl )
{
USHORT nId = pTabCtrl->GetCurPageId();
SFX_APP();
- SfxTabPage *pPage = (SfxTabPage*)pTabCtrl->GetTabPage( nId );
+ SfxTabPage *pPage = dynamic_cast<SfxTabPage*> (pTabCtrl->GetTabPage( nId ));
DBG_ASSERT( pPage, "keine aktive Page" );
#ifdef DBG_UTIL
Data_Impl* pDataObject = Find( *pImpl->pData, pTabCtrl->GetCurPageId() );
@@ -1751,3 +1798,4 @@ long SfxTabDialog::Notify( NotifyEvent& rNEvt )
return TabDialog::Notify( rNEvt );
}
+END_NAMESPACE_LAYOUT_SFX_TABDIALOG
diff --git a/sfx2/source/layout/factory.cxx b/sfx2/source/layout/factory.cxx
new file mode 100644
index 000000000000..697970f7e34c
--- /dev/null
+++ b/sfx2/source/layout/factory.cxx
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: tabdlg.cxx,v $
+ * $Revision: 1.38 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#include <com/sun/star/awt/WindowAttribute.hpp>
+#include <sal/types.h>
+#include <sfx2/basedlgs.hxx>
+#include <toolkit/awt/vclxtoolkit.hxx>
+#include <toolkit/awt/vclxdialog.hxx>
+
+using rtl::OUString;
+
+class SfxModelessDialog_unprotect : public SfxModelessDialog
+{
+public:
+ SfxModelessDialog_unprotect (Window *parent, WinBits attributes);
+};
+
+SFX2_DLLPUBLIC SfxBindings* sfx2_global_bindings;
+SFX2_DLLPUBLIC SfxChildWindow* sfx2_global_child;
+
+SfxModelessDialog_unprotect::SfxModelessDialog_unprotect (Window *parent, WinBits bits)
+ : SfxModelessDialog (sfx2_global_bindings, sfx2_global_child, parent, bits)
+{
+}
+
+extern "C"
+{
+
+SAL_DLLPUBLIC_EXPORT Window* CreateWindow (VCLXWindow** vcl, OUString const& name, Window* parent, long& attributes)
+{
+ Window* window = 0;
+ if (0)
+ {
+ ;
+ }
+ else if (name.equalsAscii ("sfxmodelessdialog"))
+ {
+ window = new SfxModelessDialog_unprotect (parent, ImplGetWinBits (attributes, 0));
+ *vcl = new layoutimpl::VCLXDialog ();
+ }
+ return window;
+}
+
+}
diff --git a/sfx2/source/layout/makefile.mk b/sfx2/source/layout/makefile.mk
new file mode 100644
index 000000000000..24caa81ac643
--- /dev/null
+++ b/sfx2/source/layout/makefile.mk
@@ -0,0 +1,60 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2008 by Sun Microsystems, Inc.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# $RCSfile: makefile.mk,v $
+#
+# $Revision: 1.7 $
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..
+
+PRJNAME=sfx2
+TARGET=layout
+ENABLE_EXCEPTIONS=true
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : settings.mk
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# --- Files --------------------------------------------------------
+
+.IF "$(ENABLE_LAYOUT)" == "TRUE"
+
+SLOFILES = \
+ $(SLO)$/sfxdialog.obj
+#
+
+SLOFILES += $(SLO)$/sfxtabdialog.obj \
+ $(SLO)$/factory.obj \
+ $(SLO)$/sfxtabpage.obj
+
+.ENDIF # ENABLE_LAYOUT == TRUE
+
+# --- Tagets -------------------------------------------------------
+
+.INCLUDE : target.mk
+
diff --git a/sfx2/source/layout/sfxdialog.cxx b/sfx2/source/layout/sfxdialog.cxx
new file mode 100644
index 000000000000..739f67180cc2
--- /dev/null
+++ b/sfx2/source/layout/sfxdialog.cxx
@@ -0,0 +1,41 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: tabdlg.cxx,v $
+ * $Revision: 1.38 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#include "precompiled_sfx2.hxx"
+#include <sfx2/layout.hxx>
+
+namespace layout
+{
+
+SfxDialog::SfxDialog(::Window* parent, char const* xml_file, char const* id, SfxBindings*, SfxChildWindow*)
+ : Dialog (parent, xml_file, id)
+{
+}
+
+} // end namespace layout
diff --git a/sfx2/source/layout/sfxtabdialog.cxx b/sfx2/source/layout/sfxtabdialog.cxx
new file mode 100644
index 000000000000..a6d592bf48d5
--- /dev/null
+++ b/sfx2/source/layout/sfxtabdialog.cxx
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: tabdlg.cxx,v $
+ * $Revision: 1.38 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_sfx2.hxx"
+
+#include <limits.h>
+#include <stdlib.h>
+#include <vcl/msgbox.hxx>
+#include <svtools/viewoptions.hxx>
+
+#define _SVSTDARR_USHORTS
+#include <svtools/svstdarr.hxx>
+
+#include "appdata.hxx"
+#include "sfxtypes.hxx"
+#include <sfx2/minarray.hxx>
+#include <sfx2/tabdlg.hxx>
+#include <sfx2/viewfrm.hxx>
+#include <sfx2/app.hxx>
+#include "sfxresid.hxx"
+#include "sfxhelp.hxx"
+#include <sfx2/ctrlitem.hxx>
+#include <sfx2/bindings.hxx>
+#include <sfx2/sfxdlg.hxx>
+#include <sfx2/itemconnect.hxx>
+#include <layout/layout.hxx>
+
+//FIXME
+#include <toolkit/awt/vclxwindow.hxx>
+#include <com/sun/star/awt/PosSize.hpp>
+
+using namespace ::com::sun::star;
+namespace layout
+{
+using namespace ::com::sun::star;
+}
+
+#include <sfx2/layout.hxx>
+#include <layout/layout-pre.hxx>
+
+#undef TabPage
+#undef SfxTabPage
+#undef SfxTabDialog
+
+#define TabDlgCmpUS_Impl layout__TabDlgCmpUS_Impl
+
+#include "../dialog/tabdlg.cxx"
diff --git a/sfx2/source/layout/sfxtabpage.cxx b/sfx2/source/layout/sfxtabpage.cxx
new file mode 100644
index 000000000000..767cb14dfa28
--- /dev/null
+++ b/sfx2/source/layout/sfxtabpage.cxx
@@ -0,0 +1,91 @@
+/*************************************************************************
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2008 by Sun Microsystems, Inc.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* $RCSfile: code,v $
+*
+* $Revision: 1.3 $
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+************************************************************************/
+
+#include <sfx2/layout.hxx>
+
+#include <com/sun/star/awt/PosSize.hpp>
+#include <toolkit/awt/vclxwindow.hxx>
+
+namespace layout
+{
+
+using namespace ::com::sun::star;
+
+#if 0
+SfxTabDialog::SfxTabDialog (::Window *parent, char const* xml_file, char const* id, ResId const& res_id, SfxItemSet const* set)
+ : ::SfxTabDialog (parent, res_id, set)
+ , InPlug (parent, xml_file, id)
+{
+}
+
+::Window* SfxTabDialog::GetParent () const
+{
+ return Window::GetParent ();
+}
+
+::Window* SfxTabDialog::GetWindow () const
+{
+ return Window::GetParent ();
+}
+
+void SfxTabDialog::FreeResource ()
+{
+ //::Window::FreeResource ();
+}
+#endif
+
+SfxTabPage::SfxTabPage (::Window *parent, char const* xml_file, char const* id, SfxItemSet const* set)
+ : ::SfxTabPage (parent, 0, *set)
+ , InPlug (parent, xml_file, id)
+{
+ dynamic_cast< ::Window* > (this)->SetComponentInterface (GetVCLXWindow ());
+}
+
+::Window* SfxTabPage::GetParent () const
+{
+ return Window::GetParent ();
+}
+
+::Window* SfxTabPage::GetWindow () const
+{
+ return ::layout::Window::GetWindow();
+}
+
+void SfxTabPage::FreeResource ()
+{
+ //::Window::FreeResource ();
+}
+
+Size SfxTabPage::GetOptimalSize (WindowSizeType) const
+{
+ awt::Size s = GetVCLXWindow()->getMinimumSize ();
+ return Size (s.Width, s.Height);
+}
+
+} // end namespace layout
diff --git a/sfx2/util/makefile.mk b/sfx2/util/makefile.mk
index a256282639a0..d8fdc0fea5b9 100644
--- a/sfx2/util/makefile.mk
+++ b/sfx2/util/makefile.mk
@@ -61,6 +61,10 @@ LIB1FILES= $(SLB)$/appl.lib \
$(SLB)$/bastyp.lib \
$(SLB)$/config.lib
+.IF "$(ENABLE_LAYOUT)" == "TRUE"
+LIB1FILES += $(SLB)$/layout.lib
+.ENDIF # ENABLE_LAYOUT == TRUE
+
HELPIDFILES=\
..\inc\sfx2\sfxsids.hrc \
..\source\inc\helpid.hrc