Files
libreoffice/vcl/source/window/dockmgr.cxx

1521 lines
49 KiB
C++
Raw Normal View History

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
re-base on ALv2 code. Includes (at least) relevant parts of: linecap: Reintegrating finished LineCap feature Patch contributed by Regina Henschel http://svn.apache.org/viewvc?view=revision&revision=1232507 Patches contributed by Sven Jacobi impress212: #i81610# fixed animation export http://svn.apache.org/viewvc?view=revision&revision=1167620 impress212: drawinglayer gbuild environment changes http://svn.apache.org/viewvc?view=revision&revision=1167627 http://svn.apache.org/viewvc?view=revision&revision=1167628 impress212: DffPropSet -> minor code improvements, removing table http://svn.apache.org/viewvc?view=revision&revision=1167634 impress212: #158494# fixed excel import (text rotation) http://svn.apache.org/viewvc?view=revision&revision=1167638 Patches contributed by Armin Le Grand Svg: Reintegrated Svg replacement from /branches/alg/svgreplavement http://svn.apache.org/viewvc?view=revision&revision=1220836 #118728# changed indentifying definitions for Svg file detection http://svn.apache.org/viewvc?view=revision&revision=1229961 #118838# LineGeometry creation for complicated cases optimized to create single Polygons http://svn.apache.org/viewvc?view=revision&revision=1236232 #119176# corrected file type detection for SVG for svg files without xml header http://svn.apache.org/viewvc?view=revision&revision=1309445 #118728# Extended Svg file detection http://svn.apache.org/viewvc?view=revision&revision=1230531 #118529# solve break converters and convert commands for OLEs and images http://svn.apache.org/viewvc?view=revision&revision=1186168 svg: added WaE changes from branch svgreplacement to trunc http://svn.apache.org/viewvc?view=revision&revision=1222974 svg: corrected missing member initialization http://svn.apache.org/viewvc?view=revision&revision=1226134 fix for #118525#: Using primitives for chart sub-geometry visualisation http://svn.apache.org/viewvc?view=revision&revision=1226879 #118898# Adapted ImpGraphic::ImplGetBitmap to correctly convert metafiles to bitmapEx ... http://svn.apache.org/viewvc?view=revision&revision=1293316 fix for #118525#: removed no longer used variable maOriginalMapMode, one more exception eliminated http://svn.apache.org/viewvc?view=revision&revision=1227097 #16758# Added buffering to the VDev usages of the VclProcessor2D derivates... http://svn.apache.org/viewvc?view=revision&revision=1229521 #116758# Secured VDev buffer device to Vcl deinit http://svn.apache.org/viewvc?view=revision&revision=1230574 #116758# added remembering allocated VDevs for VDevBuffer to be able to also delete these when vcl goes down; it should never happen, but You never know http://svn.apache.org/viewvc?view=revision&revision=1230927 #118730# Changed SvgClipPathNode to use MaskPrimitive2D for primitive representation instead of TransparencePrimitive2D http://svn.apache.org/viewvc?view=revision&revision=1231198 #118822# secured 3D geometry creation (slices) by subdividing the 2D source polyPolygon early http://svn.apache.org/viewvc?view=revision&revision=1234749 #118829# enhanced Svg gradient quality, obstacles avoided http://svn.apache.org/viewvc?view=revision&revision=1235361 #118834# Unified usage of TextBreakupHelper as single tooling class for i18n text primitive breakup http://svn.apache.org/viewvc?view=revision&revision=1236110 #118853# added square pixel size limit to conversion of TransparencePrimitive2D to Metafile action http://svn.apache.org/viewvc?view=revision&revision=1237656 #118824# coreccted mirroring and boundrect when the graphicmanager is used for bitmap output http://svn.apache.org/viewvc?view=revision&revision=1240097 #115092# Corrected VclProcessor2D::RenderPolygonStrokePrimitive2D for various optimization scenarios http://svn.apache.org/viewvc?view=revision&revision=1241434 #118783# Corrected errors in ID strings, corrected Svg line/fill export, corrected polygon close state http://svn.apache.org/viewvc?view=revision&revision=1232006 #118796# corrected null-pointer usage in SVG text exporter http://svn.apache.org/viewvc?view=revision&revision=1240262 #118729# Use GraphicStreamUrl and GraphicUrl to allow multi image import with linked graphics, too http://svn.apache.org/viewvc?view=revision&revision=1229962 #118898# corrected error in GDIMetaFile::GetBoundRect in handling MetaFloatTransparentAction http://svn.apache.org/viewvc?view=revision&revision=1293349 #118855# Corrected handling of possibly created empty clipRegions after PolyPolygon clipping http://svn.apache.org/viewvc?view=revision&revision=1237725 #115962# Better (but not yet optimal, see comments in task) handling of MetaFloatTransparentAction in PDF export http://svn.apache.org/viewvc?view=revision&revision=1241078 IP clearance: #118466# This patch removes librsvg, libcroco, libgsf, ... http://svn.apache.org/viewvc?view=revision&revision=1200879 118779# Added svg content streaming in/out to ImpGraphic stream operators http://svn.apache.org/viewvc?view=revision&revision=1231908 linecap: correctons for WaE and mac drawing http://svn.apache.org/viewvc?view=revision&revision=1232793 svg: uses current system Dpi for Svg replacement image creation http://svn.apache.org/viewvc?view=revision&revision=1233948 Patches contributed by Mathias Bauer (and others) gnumake4 work variously http://svn.apache.org/viewvc?view=revision&revision=1394326 http://svn.apache.org/viewvc?view=revision&revision=1396797 http://svn.apache.org/viewvc?view=revision&revision=1397315 http://svn.apache.org/viewvc?view=revision&revision=1394326 Remove duplicate header includes. cws mba34issues01: #i117720#: convert assertion into warning http://svn.apache.org/viewvc?view=revision&revision=1172352 118485 - Styles for OLEs are not saved. Submitted by Armin Le Grand. http://svn.apache.org/viewvc?view=revision&revision=1182166 cws mba34issues01: #i117714#: remove assertion http://svn.apache.org/viewvc?view=revision&revision=1172357 Patch contributed by Jurgen Schmidt add some additional checks to ensure proper reading operations http://svn.apache.org/viewvc?view=revision&revision=1209022 mostly prefer our stream / bounds checking work. Patches contributed by Herbert Duerr #i118816# add clarifying comment regarding Font::*Color*() methods http://svn.apache.org/viewvc?view=revision&revision=1233833 extend macro->string handling for empty strings http://svn.apache.org/viewvc?view=revision&revision=1175801 avoid magic constants for SALCOLOR_NONE http://svn.apache.org/viewvc?view=revision&revision=1177543 initialize slant properly in ImplFontMetricData constructor (author=iorsh) http://svn.apache.org/viewvc?view=revision&revision=1177551 #i118675# make check for extension updates more stable http://svn.apache.org/viewvc?view=revision&revision=1214797 #a118617# remove VBasicEventListener.dll binary There are no known users depending on its CLSID http://svn.apache.org/viewvc?view=revision&revision=1203697 Patches contributed by Ariel Constenla-Haile Fix build breaker on Linux/gcc http://svn.apache.org/viewvc?view=revision&revision=1221104 Fix crash when trying to instantiate css.graphic.GraphicRasterizer_RSVG http://svn.apache.org/viewvc?view=revision&revision=1215559 Patches contributed by Oliver-Rainer Wittmann sw34bf06: #i117962# - method <SwFlyFrm::IsPaint(..)> - consider instances of <SwFlyDrawObj> http://svn.apache.org/viewvc?view=revision&revision=1172120 sw34bf06: #i117783# - Writer's implementation of XPagePrintable - apply print settings to new printing routines http://svn.apache.org/viewvc?view=revision&revision=1172115 gnumake4 work variously from Hans-Joachim Lankenau http://svn.apache.org/viewvc?view=revision&revision=1397315 http://svn.apache.org/viewvc?view=revision&revision=1396797 http://svn.apache.org/viewvc?view=revision&revision=1396782 http://svn.apache.org/viewvc?view=revision&revision=1394707 plus some amount of re-splitting of legacy headers. Patch contributed by Pavel Janik WaE: Remove unused variables. http://svn.apache.org/viewvc?view=revision&revision=1230697 Patches contributed by Takashi Ono mingwport35: i#117795: MinGW port fix for vcl2gnumake http://svn.apache.org/viewvc?view=revision&revision=1172091 mingwport35: i#117795: MinGW port fix for vcl2gnumake http://svn.apache.org/viewvc?view=revision&revision=1172091 Patch contributed by Christian Lippka impress212: #i98044# re enable Text menu for outline and title shapes http://svn.apache.org/viewvc?view=revision&revision=1167639 Patch contributed by Andre Fischer 118674: Made category B code optional and disabled by default. http://svn.apache.org/viewvc?view=revision&revision=1215131 118881: Ignore empty paragraphs after bullets. http://svn.apache.org/viewvc?view=revision&revision=1296205 Patches contributed by Philipp Lohmann ooo340fixes: #i117780# use rtl allocator http://svn.apache.org/viewvc?view=revision&revision=1172087 ooo34gsl02: #i117807# fix an off by one error (index actually inside the pfb section header) http://svn.apache.org/viewvc?view=revision&revision=1167576 various cleanups, related compilation fixes, warning cleanups, re-working of obsolete stl template pieces to use boost instead, changed string classes, re-adapt KDE about data, about dialog, fixing warnings, and other fixes & improvements. Disable svg import / render for about/ branding code-paths for now. Restore full icon theme set. Remove OS/2 conditionals and sources. Remove conflicting gtk/full-screen monitors support. Retain existing svg rasterizer files - temporarily disabled. Standardize stringificaiton and fixup dllpostfix issues. Rename SvgGradientHelper::== to equalTo to avoid overloading issues. Use the flat GdiPlus API for LineCaps calls.
2012-10-09 12:22:23 +01:00
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
#include <tools/time.hxx>
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
#include <tools/rc.h>
#include <brdwin.hxx>
#include <svdata.hxx>
#include <salframe.hxx>
#include <window.h>
#include <vcl/event.hxx>
#include <vcl/floatwin.hxx>
#include <vcl/dockwin.hxx>
#include <vcl/toolbox.hxx>
#include <vcl/svapp.hxx>
#include <vcl/timer.hxx>
#include <vcl/lineinfo.hxx>
#include <vcl/unowrap.hxx>
#include <vcl/settings.hxx>
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
// =======================================================================
#define DOCKWIN_FLOATSTYLES (WB_SIZEABLE | WB_MOVEABLE | WB_CLOSEABLE | WB_STANDALONE | WB_PINABLE | WB_ROLLABLE )
// =======================================================================
// =======================================================================
class ImplDockFloatWin2 : public FloatingWindow
{
private:
ImplDockingWindowWrapper* mpDockWin;
sal_uLong mnLastTicks;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
Timer maDockTimer;
Timer maEndDockTimer;
Point maDockPos;
Rectangle maDockRect;
bool mbInMove;
sal_uLong mnLastUserEvent;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
DECL_LINK(DockingHdl, void *);
DECL_LINK(DockTimerHdl, void *);
DECL_LINK(EndDockTimerHdl, void *);
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
public:
ImplDockFloatWin2( Window* pParent, WinBits nWinBits,
ImplDockingWindowWrapper* pDockingWin );
~ImplDockFloatWin2();
virtual void Move();
virtual void Resize();
virtual void TitleButtonClick( sal_uInt16 nButton );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
virtual void Pin();
virtual void Roll();
virtual void PopupModeEnd();
virtual void Resizing( Size& rSize );
virtual bool Close();
virtual void setPosSizePixel( long nX, long nY,
long nWidth, long nHeight,
sal_uInt16 nFlags = WINDOW_POSSIZE_ALL );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
sal_uLong GetLastTicks() const { return mnLastTicks; }
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
};
// =======================================================================
ImplDockFloatWin2::ImplDockFloatWin2( Window* pParent, WinBits nWinBits,
ImplDockingWindowWrapper* pDockingWin ) :
FloatingWindow( pParent, nWinBits ),
mpDockWin( pDockingWin ),
mnLastTicks( Time::GetSystemTicks() ),
mbInMove( false ),
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
mnLastUserEvent( 0 )
{
// Daten vom DockingWindow uebernehmen
if ( pDockingWin )
{
SetSettings( pDockingWin->GetWindow()->GetSettings() );
Enable( pDockingWin->GetWindow()->IsEnabled(), false );
EnableInput( pDockingWin->GetWindow()->IsInputEnabled(), false );
AlwaysEnableInput( pDockingWin->GetWindow()->IsAlwaysEnableInput(), false );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
EnableAlwaysOnTop( pDockingWin->GetWindow()->IsAlwaysOnTopEnabled() );
SetActivateMode( pDockingWin->GetWindow()->GetActivateMode() );
}
SetBackground( GetSettings().GetStyleSettings().GetFaceColor() );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
maDockTimer.SetTimeoutHdl( LINK( this, ImplDockFloatWin2, DockTimerHdl ) );
maDockTimer.SetTimeout( 50 );
maEndDockTimer.SetTimeoutHdl( LINK( this, ImplDockFloatWin2, EndDockTimerHdl ) );
maEndDockTimer.SetTimeout( 50 );
}
// -----------------------------------------------------------------------
ImplDockFloatWin2::~ImplDockFloatWin2()
{
if( mnLastUserEvent )
Application::RemoveUserEvent( mnLastUserEvent );
}
// -----------------------------------------------------------------------
IMPL_LINK_NOARG(ImplDockFloatWin2, DockTimerHdl)
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
DBG_ASSERT( mpDockWin->IsFloatingMode(), "docktimer called but not floating" );
maDockTimer.Stop();
PointerState aState = GetPointerState();
if( aState.mnState & KEY_MOD1 )
{
// i43499 CTRL disables docking now
mpDockWin->GetWindow()->GetParent()->ImplGetFrameWindow()->HideTracking();
if( aState.mnState & ( MOUSE_LEFT | MOUSE_MIDDLE | MOUSE_RIGHT ) )
maDockTimer.Start();
}
else if( ! ( aState.mnState & ( MOUSE_LEFT | MOUSE_MIDDLE | MOUSE_RIGHT ) ) )
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
mpDockWin->GetWindow()->GetParent()->ImplGetFrameWindow()->HideTracking();
mpDockWin->EndDocking( maDockRect, false );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
else
{
mpDockWin->GetWindow()->GetParent()->ImplGetFrameWindow()->ShowTracking( maDockRect, SHOWTRACK_BIG | SHOWTRACK_WINDOW );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
maDockTimer.Start();
}
return 0;
}
IMPL_LINK_NOARG(ImplDockFloatWin2, EndDockTimerHdl)
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
DBG_ASSERT( mpDockWin->IsFloatingMode(), "enddocktimer called but not floating" );
maEndDockTimer.Stop();
PointerState aState = GetPointerState();
if( ! ( aState.mnState & ( MOUSE_LEFT | MOUSE_MIDDLE | MOUSE_RIGHT ) ) )
{
mpDockWin->GetWindow()->GetParent()->ImplGetFrameWindow()->HideTracking();
mpDockWin->EndDocking( maDockRect, true );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
else
{
maEndDockTimer.Start();
}
return 0;
}
IMPL_LINK_NOARG(ImplDockFloatWin2, DockingHdl)
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
// called during move of a floating window
mnLastUserEvent = 0;
Window *pDockingArea = mpDockWin->GetWindow()->GetParent();
PointerState aState = pDockingArea->GetPointerState();
bool bRealMove = true;
if( GetStyle() & WB_OWNERDRAWDECORATION )
{
// for windows with ownerdraw decoration
// we allow docking only when the window was moved
// by dragging its caption
// and ignore move request due to resizing
Window *pBorder = GetWindow( WINDOW_BORDER );
if( pBorder != this )
{
Point aPt;
Rectangle aBorderRect( aPt, pBorder->GetSizePixel() );
sal_Int32 nLeft, nTop, nRight, nBottom;
GetBorder( nLeft, nTop, nRight, nBottom );
// limit borderrect to the caption part only and without the resizing borders
aBorderRect.Bottom() = aBorderRect.Top() + nTop;
aBorderRect.Left() += nLeft;
aBorderRect.Right() -= nRight;
PointerState aBorderState = pBorder->GetPointerState();
if( aBorderRect.IsInside( aBorderState.maPos ) )
bRealMove = true;
else
bRealMove = false;
}
}
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
if( mpDockWin->IsDockable() &&
mpDockWin->GetWindow()->IsVisible() &&
(Time::GetSystemTicks() - mnLastTicks > 500) &&
( aState.mnState & ( MOUSE_LEFT | MOUSE_MIDDLE | MOUSE_RIGHT ) ) &&
!(aState.mnState & KEY_MOD1) && // i43499 CTRL disables docking now
bRealMove )
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
maDockPos = Point( pDockingArea->OutputToScreenPixel( pDockingArea->AbsoluteScreenToOutputPixel( OutputToAbsoluteScreenPixel( Point() ) ) ) );
maDockRect = Rectangle( maDockPos, mpDockWin->GetSizePixel() );
// mouse pos in screen pixels
Point aMousePos = pDockingArea->OutputToScreenPixel( aState.maPos );
if( ! mpDockWin->IsDocking() )
mpDockWin->StartDocking( aMousePos, maDockRect );
bool bFloatMode = mpDockWin->Docking( aMousePos, maDockRect );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
if( ! bFloatMode )
{
// indicates that the window could be docked at maDockRect
maDockRect.SetPos( mpDockWin->GetWindow()->GetParent()->ImplGetFrameWindow()->ScreenToOutputPixel(
maDockRect.TopLeft() ) );
mpDockWin->GetWindow()->GetParent()->ImplGetFrameWindow()->ShowTracking( maDockRect, SHOWTRACK_BIG | SHOWTRACK_WINDOW );
maEndDockTimer.Stop();
DockTimerHdl( this );
}
else
{
mpDockWin->GetWindow()->GetParent()->ImplGetFrameWindow()->HideTracking();
maDockTimer.Stop();
EndDockTimerHdl( this );
}
}
mbInMove = false;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
return 0;
}
// -----------------------------------------------------------------------
void ImplDockFloatWin2::Move()
{
if( mbInMove )
return;
mbInMove = true;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
FloatingWindow::Move();
mpDockWin->GetWindow()->Move();
/*
* note: the window should only dock if KEY_MOD1 is pressed
* and the user releases all mouse buttons. The real problem here
* is that we don't get mouse events (at least not on X)
* if the mouse is on the decoration. So we have to start an
* awkward timer based process that polls the modifier/buttons
* to see whether they are in the right condition shortly after the
* last Move message.
*/
if( ! mnLastUserEvent )
mnLastUserEvent = Application::PostUserEvent( LINK( this, ImplDockFloatWin2, DockingHdl ) );
}
// -----------------------------------------------------------------------
void ImplDockFloatWin2::Resize()
{
// forwarding of resize only required if we have no borderwindow ( GetWindow() then returns 'this' )
if( GetWindow( WINDOW_BORDER ) == this )
{
FloatingWindow::Resize();
Size aSize( GetSizePixel() );
mpDockWin->GetWindow()->ImplPosSizeWindow( 0, 0, aSize.Width(), aSize.Height(), WINDOW_POSSIZE_POSSIZE ); // is this needed ???
}
}
void ImplDockFloatWin2::setPosSizePixel( long nX, long nY,
long nWidth, long nHeight,
sal_uInt16 nFlags )
{
FloatingWindow::setPosSizePixel( nX, nY, nWidth, nHeight, nFlags );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
// -----------------------------------------------------------------------
void ImplDockFloatWin2::TitleButtonClick( sal_uInt16 nButton )
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
FloatingWindow::TitleButtonClick( nButton );
mpDockWin->TitleButtonClick( nButton );
}
// -----------------------------------------------------------------------
void ImplDockFloatWin2::Pin()
{
FloatingWindow::Pin();
mpDockWin->Pin();
}
// -----------------------------------------------------------------------
void ImplDockFloatWin2::Roll()
{
FloatingWindow::Roll();
mpDockWin->Roll();
}
// -----------------------------------------------------------------------
void ImplDockFloatWin2::PopupModeEnd()
{
FloatingWindow::PopupModeEnd();
mpDockWin->PopupModeEnd();
}
// -----------------------------------------------------------------------
void ImplDockFloatWin2::Resizing( Size& rSize )
{
FloatingWindow::Resizing( rSize );
mpDockWin->Resizing( rSize );
}
// -----------------------------------------------------------------------
bool ImplDockFloatWin2::Close()
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
return mpDockWin->Close();
}
// =======================================================================
DockingManager::DockingManager()
{
}
DockingManager::~DockingManager()
{
::std::vector< ImplDockingWindowWrapper* >::iterator p;
p = mDockingWindows.begin();
for(; p != mDockingWindows.end(); ++p )
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
delete (*p);
}
mDockingWindows.clear();
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
ImplDockingWindowWrapper* DockingManager::GetDockingWindowWrapper( const Window *pWindow )
{
::std::vector< ImplDockingWindowWrapper* >::iterator p;
p = mDockingWindows.begin();
while( p != mDockingWindows.end() )
{
if( (*p)->mpDockingWindow == pWindow )
return (*p);
else
2011-05-08 17:04:25 +02:00
++p;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
return NULL;
}
bool DockingManager::IsDockable( const Window *pWindow )
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
ImplDockingWindowWrapper* pWrapper = GetDockingWindowWrapper( pWindow );
/*
if( pWindow->HasDockingHandler() )
return sal_True;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
*/
return (pWrapper != NULL);
}
bool DockingManager::IsFloating( const Window *pWindow )
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
ImplDockingWindowWrapper* pWrapper = GetDockingWindowWrapper( pWindow );
if( pWrapper )
return pWrapper->IsFloatingMode();
else
return false;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
bool DockingManager::IsLocked( const Window *pWindow )
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
ImplDockingWindowWrapper* pWrapper = GetDockingWindowWrapper( pWindow );
if( pWrapper && pWrapper->IsLocked() )
return true;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
else
return false;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
void DockingManager::Lock( const Window *pWindow )
{
ImplDockingWindowWrapper* pWrapper = GetDockingWindowWrapper( pWindow );
if( pWrapper )
pWrapper->Lock();
}
void DockingManager::Unlock( const Window *pWindow )
{
ImplDockingWindowWrapper* pWrapper = GetDockingWindowWrapper( pWindow );
if( pWrapper )
pWrapper->Unlock();
}
void DockingManager::SetFloatingMode( const Window *pWindow, bool bFloating )
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
ImplDockingWindowWrapper* pWrapper = GetDockingWindowWrapper( pWindow );
if( pWrapper )
pWrapper->SetFloatingMode( bFloating );
}
void DockingManager::StartPopupMode( ToolBox *pParentToolBox, const Window *pWindow, sal_uLong nFlags )
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
ImplDockingWindowWrapper* pWrapper = GetDockingWindowWrapper( pWindow );
if( pWrapper )
2010-03-11 18:15:22 +01:00
pWrapper->StartPopupMode( pParentToolBox, nFlags );
}
void DockingManager::StartPopupMode( ToolBox *pParentToolBox, const Window *pWindow )
{
StartPopupMode( pParentToolBox, pWindow, FLOATWIN_POPUPMODE_ALLOWTEAROFF |
FLOATWIN_POPUPMODE_NOFOCUSCLOSE |
FLOATWIN_POPUPMODE_ALLMOUSEBUTTONCLOSE |
FLOATWIN_POPUPMODE_NOMOUSEUPCLOSE );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
bool DockingManager::IsInPopupMode( const Window *pWindow )
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
ImplDockingWindowWrapper* pWrapper = GetDockingWindowWrapper( pWindow );
if( pWrapper && pWrapper->IsInPopupMode() )
return true;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
else
return false;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
// -----------------------------------------------------------------------
void DockingManager::EndPopupMode( const Window *pWin )
{
ImplDockingWindowWrapper *pWrapper = GetDockingWindowWrapper( pWin );
if( pWrapper && pWrapper->GetFloatingWindow() && pWrapper->GetFloatingWindow()->IsInPopupMode() )
pWrapper->GetFloatingWindow()->EndPopupMode();
}
// -----------------------------------------------------------------------
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
void DockingManager::AddWindow( const Window *pWindow )
{
ImplDockingWindowWrapper* pWrapper = GetDockingWindowWrapper( pWindow );
if( pWrapper )
return;
else
pWrapper = new ImplDockingWindowWrapper( pWindow );
mDockingWindows.push_back( pWrapper );
}
void DockingManager::RemoveWindow( const Window *pWindow )
{
::std::vector< ImplDockingWindowWrapper* >::iterator p;
p = mDockingWindows.begin();
while( p != mDockingWindows.end() )
{
if( (*p)->mpDockingWindow == pWindow )
{
delete (*p);
mDockingWindows.erase( p );
break;
}
else
2011-05-08 17:04:25 +02:00
++p;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
}
void DockingManager::SetPosSizePixel( Window *pWindow, long nX, long nY,
long nWidth, long nHeight,
sal_uInt16 nFlags )
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
ImplDockingWindowWrapper* pWrapper = GetDockingWindowWrapper( pWindow );
if( pWrapper )
pWrapper->setPosSizePixel( nX, nY, nWidth, nHeight, nFlags );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
Rectangle DockingManager::GetPosSizePixel( const Window *pWindow )
{
Rectangle aRect;
ImplDockingWindowWrapper* pWrapper = GetDockingWindowWrapper( pWindow );
if( pWrapper )
aRect = Rectangle( pWrapper->GetPosPixel(), pWrapper->GetSizePixel() );
return aRect;
}
// =======================================================================
// special floating window for popup mode
// main purpose: provides tear-off area for undocking
// =======================================================================
// if TEAROFF_DASHED defined a single dashed line is used
// otherwise multiple smaller lines will be painted
//#define TEAROFF_DASHED
// size of the drag area
#ifdef TEAROFF_DASHED
#define POPUP_DRAGBORDER 2
#define POPUP_DRAGGRIP 5
#else
#define POPUP_DRAGBORDER 3
#define POPUP_DRAGGRIP 5
#endif
#define POPUP_DRAGHEIGHT (POPUP_DRAGGRIP+POPUP_DRAGBORDER+POPUP_DRAGBORDER)
#define POPUP_DRAGWIDTH 20
class ImplPopupFloatWin : public FloatingWindow
{
private:
ImplDockingWindowWrapper* mpDockingWin;
bool mbHighlight;
bool mbMoving;
bool mbTrackingEnabled;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
Point maDelta;
Point maTearOffPosition;
2010-01-18 20:46:53 +01:00
bool mbGripAtBottom;
2010-03-11 18:15:22 +01:00
bool mbHasGrip;
void ImplSetBorder();
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
public:
2010-03-11 18:15:22 +01:00
ImplPopupFloatWin( Window* pParent, ImplDockingWindowWrapper* pDockingWin, bool bHasGrip );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
~ImplPopupFloatWin();
virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > CreateAccessible();
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
virtual void Paint( const Rectangle& rRect );
virtual void MouseMove( const MouseEvent& rMEvt );
virtual void MouseButtonDown( const MouseEvent& rMEvt );
virtual void MouseButtonUp( const MouseEvent& rMEvt );
virtual void Tracking( const TrackingEvent& rTEvt );
virtual void Resize();
virtual Window* GetPreferredKeyInputWindow();
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
Rectangle GetDragRect() const;
Point GetToolboxPosition() const;
Point GetTearOffPosition() const;
void DrawGrip();
void DrawBorder();
2010-03-11 18:15:22 +01:00
bool hasGrip() const { return mbHasGrip; }
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
};
2010-03-11 18:15:22 +01:00
ImplPopupFloatWin::ImplPopupFloatWin( Window* pParent, ImplDockingWindowWrapper* pDockingWin, bool bHasGrip ) :
FloatingWindow( pParent, WB_NOBORDER | WB_SYSTEMWINDOW | WB_NOSHADOW)
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
mpWindowImpl->mbToolbarFloatingWindow = true; // indicate window type, required for accessibility
// which should not see this window as a toplevel window
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
mpDockingWin = pDockingWin;
mbHighlight = false;
mbMoving = false;
mbTrackingEnabled = false;
mbGripAtBottom = true;
2010-03-11 18:15:22 +01:00
mbHasGrip = bHasGrip;
ImplSetBorder();
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
ImplPopupFloatWin::~ImplPopupFloatWin()
{
mpDockingWin = NULL;
}
::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > ImplPopupFloatWin::CreateAccessible()
{
// switch off direct accessibilty support for this window
// this is to avoid appearance of this window as standalone window in the accessibility hierarchy
// as this window is only used as a helper for subtoolbars that are not teared-off, the parent toolbar
// has to provide accessibility support (as implemented in the toolkit)
// so the contained toolbar should appear as child of the correponsing toolbar item of the parent toolbar
return ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >();
}
Window* ImplPopupFloatWin::GetPreferredKeyInputWindow()
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
if( mpWindowImpl->mpClientWindow )
return mpWindowImpl->mpClientWindow;
else
return FloatingWindow::GetPreferredKeyInputWindow();
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
void ImplPopupFloatWin::ImplSetBorder()
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
// although we have no border in the sense of a borderwindow
// we're using a special border for the grip
// by setting those members the method SetOutputSizePixel() can
// be used to set the proper window size
2010-03-11 18:15:22 +01:00
mpWindowImpl->mnTopBorder = 1;
if( hasGrip() )
mpWindowImpl->mnTopBorder += POPUP_DRAGHEIGHT+2;
mpWindowImpl->mnBottomBorder = 1;
mpWindowImpl->mnLeftBorder = 1;
mpWindowImpl->mnRightBorder = 1;
}
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
void ImplPopupFloatWin::Resize()
{
// the borderview overwrites the border during resize so restore it
ImplSetBorder();
}
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
Rectangle ImplPopupFloatWin::GetDragRect() const
{
2010-03-11 18:15:22 +01:00
Rectangle aRect;
if( hasGrip() )
2010-01-18 20:46:53 +01:00
{
2010-03-11 18:15:22 +01:00
aRect = Rectangle( 1,1, GetOutputSizePixel().Width()-1, 2+POPUP_DRAGHEIGHT );
if( mbGripAtBottom )
{
int height = GetOutputSizePixel().Height();
aRect.Top() = height - 3 - POPUP_DRAGHEIGHT;
aRect.Bottom() = aRect.Top() + 1 + POPUP_DRAGHEIGHT;
}
2010-01-18 20:46:53 +01:00
}
return aRect;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
Point ImplPopupFloatWin::GetToolboxPosition() const
{
// return inner position where a toolbox could be placed
2010-03-11 18:15:22 +01:00
Point aPt( 1, 1 + ((mbGripAtBottom || !hasGrip()) ? 0 : GetDragRect().getHeight()) ); // grip + border
2010-01-18 20:46:53 +01:00
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
return aPt;
}
Point ImplPopupFloatWin::GetTearOffPosition() const
{
Point aPt( maTearOffPosition );
//aPt += GetToolboxPosition(); // remove 'decoration'
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
return aPt;
}
void ImplPopupFloatWin::DrawBorder()
{
SetFillColor();
Point aPt;
Rectangle aRect( aPt, GetOutputSizePixel() );
Region oldClipRgn( GetClipRegion( ) );
Region aClipRgn( aRect );
Rectangle aItemClipRect( ImplGetItemEdgeClipRect() );
if( !aItemClipRect.IsEmpty() )
{
aItemClipRect.SetPos( AbsoluteScreenToOutputPixel( aItemClipRect.TopLeft() ) );
2010-03-11 18:15:22 +01:00
// draw the excluded border part with the background color of a toolbox
SetClipRegion( Region( aItemClipRect ) );
SetLineColor( GetSettings().GetStyleSettings().GetFaceColor() );
DrawRect( aRect );
aClipRgn.Exclude( aItemClipRect );
SetClipRegion( aClipRgn );
}
2010-03-11 18:15:22 +01:00
SetLineColor( GetSettings().GetStyleSettings().GetShadowColor() );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
DrawRect( aRect );
SetClipRegion( oldClipRgn );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
void ImplPopupFloatWin::DrawGrip()
{
bool bLinecolor = IsLineColor();
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
Color aLinecolor = GetLineColor();
bool bFillcolor = IsFillColor();
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
Color aFillcolor = GetFillColor();
// draw background
Rectangle aRect( GetDragRect() );
aRect.Top() += POPUP_DRAGBORDER;
aRect.Bottom() -= POPUP_DRAGBORDER;
aRect.Left()+=3;
aRect.Right()-=3;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
if( mbHighlight )
{
Erase( aRect );
DrawSelectionBackground( aRect, 2, false, true, false );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
else
{
SetFillColor( GetSettings().GetStyleSettings().GetFaceColor() );
SetLineColor();
DrawRect( aRect );
}
if( !ToolBox::AlwaysLocked() ) // no grip if toolboxes are locked
{
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
#ifdef TEAROFF_DASHED
// draw single dashed line
LineInfo aLineInfo( LINE_DASH );
aLineInfo.SetDistance( 4 );
aLineInfo.SetDashLen( 12 );
aLineInfo.SetDashCount( 1 );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
aRect.Left()+=2;
aRect.Right()-=2;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
aRect.Top()+=2;
aRect.Bottom() = aRect.Top();
SetLineColor( GetSettings().GetStyleSettings().GetDarkShadowColor() );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
DrawLine( aRect.TopLeft(), aRect.TopRight(), aLineInfo );
if( !mbHighlight )
{
++aRect.Top();
++aRect.Bottom();
SetLineColor( GetSettings().GetStyleSettings().GetLightColor() );
DrawLine( aRect.TopLeft(), aRect.TopRight(), aLineInfo );
}
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
#else
// draw several grip lines
SetFillColor( GetSettings().GetStyleSettings().GetShadowColor() );
aRect.Top()++;
aRect.Bottom() = aRect.Top();
int width = POPUP_DRAGWIDTH;
while( width >= aRect.getWidth() )
width -= 4;
if( width <= 0 )
width = aRect.getWidth();
//aRect.nLeft = aRect.nLeft + (aRect.getWidth() - width) / 2;
aRect.Left() = (aRect.Left() + aRect.Right() - width) / 2;
aRect.Right() = aRect.Left() + width;
int i=0;
while( i< POPUP_DRAGGRIP )
{
DrawRect( aRect );
aRect.Top()+=2;
aRect.Bottom()+=2;
i+=2;
}
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
#endif
}
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
if( bLinecolor )
SetLineColor( aLinecolor );
else
SetLineColor();
if( bFillcolor )
SetFillColor( aFillcolor );
else
SetFillColor();
}
void ImplPopupFloatWin::Paint( const Rectangle& )
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
Point aPt;
Rectangle aRect( aPt, GetOutputSizePixel() );
DrawWallpaper( aRect, Wallpaper( GetSettings().GetStyleSettings().GetFaceGradientColor() ) );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
DrawBorder();
2010-03-11 18:15:22 +01:00
if( hasGrip() )
DrawGrip();
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
void ImplPopupFloatWin::MouseMove( const MouseEvent& rMEvt )
{
Point aMousePos = rMEvt.GetPosPixel();
if( !ToolBox::AlwaysLocked() ) // no tear off if locking is enabled
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
if( mbTrackingEnabled && rMEvt.IsLeft() && GetDragRect().IsInside( aMousePos ) )
{
// start window move
mbMoving = true;
StartTracking( STARTTRACK_NOKEYCANCEL );
return;
}
if( !mbHighlight && GetDragRect().IsInside( aMousePos ) )
{
mbHighlight = true;
DrawGrip();
}
if( mbHighlight && ( rMEvt.IsLeaveWindow() || !GetDragRect().IsInside( aMousePos ) ) )
{
mbHighlight = false;
DrawGrip();
}
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
}
void ImplPopupFloatWin::MouseButtonUp( const MouseEvent& rMEvt )
{
mbTrackingEnabled = false;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
FloatingWindow::MouseButtonUp( rMEvt );
}
void ImplPopupFloatWin::MouseButtonDown( const MouseEvent& rMEvt )
{
Point aMousePos = rMEvt.GetPosPixel();
if( GetDragRect().IsInside( aMousePos ) )
{
// get mouse pos at a static window to have a fixed reference point
PointerState aState = GetParent()->GetPointerState();
if (HasMirroredGraphics() && IsRTLEnabled())
CWS-TOOLING: integrate CWS vcl96 2008-11-27 15:56:56 +0100 pl r264499 : #i95488# fix a snafu 2008-11-17 12:05:23 +0100 pl r263713 : #158795# catch bad_alloc 2008-11-14 17:26:25 +0100 pl r263687 : #i93018# new msgbox images 2008-11-14 17:00:28 +0100 pl r263686 : #i95488# treat chinese font heights like korean 2008-11-14 14:59:17 +0100 pl r263677 : #i92102# RTL fixes: toolbox selection, popup menus 2008-11-14 11:40:22 +0100 pl r263669 : #i75035# move tear off panels correctly also in RTL case (thanks ayaniger) 2008-11-13 18:15:51 +0100 pl r263658 : #i93018# message box images, add hc version 2008-11-13 15:49:41 +0100 pl r263647 : #b6726794# add: UNC paths (windows specific) 2008-11-13 12:51:37 +0100 pl r263632 : #i95803# do not dereference empty interface 2008-11-12 18:13:55 +0100 pl r263609 : #b6727144# fix and speed up xor mode for special case invert on MacOSX 2008-11-12 15:07:47 +0100 pl r263599 : #i95392# add csv to calc mimetypes (thanks cmc) 2008-11-12 14:52:13 +0100 pl r263598 : #i87633# paste strings larger than 64k in the hope that each contained line is shorter 2008-11-12 13:37:29 +0100 pl r263594 : #i96141# fix if statement (thanks cmc) 2008-11-12 13:06:22 +0100 pl r263588 : #i93831# remove windows from static set again 2008-11-11 18:15:06 +0100 pl r263571 : #i96089# fix some wrong parentheses (thanks cmc) 2008-11-04 20:50:40 +0100 pl r263336 : #i95388# do not confuse imageable area and margin 2008-11-03 18:39:25 +0100 pl r263304 : CWS-TOOLING: rebase CWS vcl96 to trunk@263288 (milestone: DEV300:m35) 2008-11-03 16:18:48 +0100 pl r263290 : #i92701# truncation warning only on paste 2008-11-03 15:53:42 +0100 pl r263289 : #i95296# use gtk plugin in more cases 2008-10-31 11:15:34 +0100 pl r262858 : #i94258# fix some PDF/A compatibility issues (thanks beppec56) 2008-10-30 14:24:24 +0100 pl r262825 : #i62033# do not read imcomplete resources (again) 2008-10-29 17:21:29 +0100 pl r262821 : #i95536# do not use deprecated gtk_draw_expander function 2008-10-21 18:00:29 +0200 pl r262574 : #i95220# use large icons for nicer display on KDE as well as Gnome taskbar 2008-10-17 16:01:43 +0200 pl r262290 : #i92822# build warning free on MacOSX 10.5
2008-12-01 13:29:22 +00:00
ImplMirrorFramePos(aState.maPos);
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
maTearOffPosition = GetWindow( WINDOW_BORDER )->GetPosPixel();
maDelta = aState.maPos - maTearOffPosition;
mbTrackingEnabled = true;
}
else
{
mbTrackingEnabled = false;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
}
void ImplPopupFloatWin::Tracking( const TrackingEvent& rTEvt )
{
if( mbMoving )
{
if ( rTEvt.IsTrackingEnded() )
{
mbMoving = false;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
EndPopupMode( FLOATWIN_POPUPMODEEND_TEAROFF );
}
else if ( !rTEvt.GetMouseEvent().IsSynthetic() )
{
// move the window according to mouse pos
PointerState aState = GetParent()->GetPointerState();
const OutputDevice *pOutDev = GetOutDev();
if (pOutDev->HasMirroredGraphics() && IsRTLEnabled())
CWS-TOOLING: integrate CWS vcl96 2008-11-27 15:56:56 +0100 pl r264499 : #i95488# fix a snafu 2008-11-17 12:05:23 +0100 pl r263713 : #158795# catch bad_alloc 2008-11-14 17:26:25 +0100 pl r263687 : #i93018# new msgbox images 2008-11-14 17:00:28 +0100 pl r263686 : #i95488# treat chinese font heights like korean 2008-11-14 14:59:17 +0100 pl r263677 : #i92102# RTL fixes: toolbox selection, popup menus 2008-11-14 11:40:22 +0100 pl r263669 : #i75035# move tear off panels correctly also in RTL case (thanks ayaniger) 2008-11-13 18:15:51 +0100 pl r263658 : #i93018# message box images, add hc version 2008-11-13 15:49:41 +0100 pl r263647 : #b6726794# add: UNC paths (windows specific) 2008-11-13 12:51:37 +0100 pl r263632 : #i95803# do not dereference empty interface 2008-11-12 18:13:55 +0100 pl r263609 : #b6727144# fix and speed up xor mode for special case invert on MacOSX 2008-11-12 15:07:47 +0100 pl r263599 : #i95392# add csv to calc mimetypes (thanks cmc) 2008-11-12 14:52:13 +0100 pl r263598 : #i87633# paste strings larger than 64k in the hope that each contained line is shorter 2008-11-12 13:37:29 +0100 pl r263594 : #i96141# fix if statement (thanks cmc) 2008-11-12 13:06:22 +0100 pl r263588 : #i93831# remove windows from static set again 2008-11-11 18:15:06 +0100 pl r263571 : #i96089# fix some wrong parentheses (thanks cmc) 2008-11-04 20:50:40 +0100 pl r263336 : #i95388# do not confuse imageable area and margin 2008-11-03 18:39:25 +0100 pl r263304 : CWS-TOOLING: rebase CWS vcl96 to trunk@263288 (milestone: DEV300:m35) 2008-11-03 16:18:48 +0100 pl r263290 : #i92701# truncation warning only on paste 2008-11-03 15:53:42 +0100 pl r263289 : #i95296# use gtk plugin in more cases 2008-10-31 11:15:34 +0100 pl r262858 : #i94258# fix some PDF/A compatibility issues (thanks beppec56) 2008-10-30 14:24:24 +0100 pl r262825 : #i62033# do not read imcomplete resources (again) 2008-10-29 17:21:29 +0100 pl r262821 : #i95536# do not use deprecated gtk_draw_expander function 2008-10-21 18:00:29 +0200 pl r262574 : #i95220# use large icons for nicer display on KDE as well as Gnome taskbar 2008-10-17 16:01:43 +0200 pl r262290 : #i92822# build warning free on MacOSX 10.5
2008-12-01 13:29:22 +00:00
ImplMirrorFramePos(aState.maPos);
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
maTearOffPosition = aState.maPos - maDelta;
GetWindow( WINDOW_BORDER )->SetPosPixel( maTearOffPosition );
}
}
}
// =======================================================================
ImplDockingWindowWrapper::ImplDockingWindowWrapper( const Window *pWindow )
{
ImplInitData();
mpDockingWindow = (Window*) pWindow;
mpParent = pWindow->GetParent();
mbDockable = true;
mbLocked = false;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
mnFloatBits = WB_BORDER | WB_CLOSEABLE | WB_SIZEABLE | (pWindow->GetStyle() & DOCKWIN_FLOATSTYLES);
DockingWindow *pDockWin = dynamic_cast< DockingWindow* > ( mpDockingWindow );
if( pDockWin )
mnFloatBits = pDockWin->GetFloatStyle();
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
// must be enabled in Window::Notify to prevent permanent docking during mouse move
mbStartDockingEnabled = false;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
ImplDockingWindowWrapper::~ImplDockingWindowWrapper()
{
if ( IsFloatingMode() )
{
GetWindow()->Show( false, SHOW_NOFOCUSCHANGE );
SetFloatingMode( false );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
}
// -----------------------------------------------------------------------
bool ImplDockingWindowWrapper::ImplStartDocking( const Point& rPos )
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
if ( !mbDockable )
return false;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
if( !mbStartDockingEnabled )
return false;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
maMouseOff = rPos;
maMouseStart = maMouseOff;
mbDocking = true;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
mbLastFloatMode = IsFloatingMode();
mbStartFloat = mbLastFloatMode;
// FloatingBorder berechnen
FloatingWindow* pWin;
if ( mpFloatWin )
pWin = mpFloatWin;
else
pWin = new ImplDockFloatWin2( mpParent, mnFloatBits, NULL );
pWin->GetBorder( mnDockLeft, mnDockTop, mnDockRight, mnDockBottom );
if ( !mpFloatWin )
delete pWin;
Point aPos = GetWindow()->ImplOutputToFrame( Point() );
Size aSize = GetWindow()->GetOutputSizePixel();
mnTrackX = aPos.X();
mnTrackY = aPos.Y();
mnTrackWidth = aSize.Width();
mnTrackHeight = aSize.Height();
if ( mbLastFloatMode )
{
maMouseOff.X() += mnDockLeft;
maMouseOff.Y() += mnDockTop;
mnTrackX -= mnDockLeft;
mnTrackY -= mnDockTop;
mnTrackWidth += mnDockLeft+mnDockRight;
mnTrackHeight += mnDockTop+mnDockBottom;
}
Window *pDockingArea = GetWindow()->GetParent();
Window::PointerState aState = pDockingArea->GetPointerState();
// mouse pos in screen pixels
Point aMousePos = pDockingArea->OutputToScreenPixel( aState.maPos );
Point aDockPos = Point( pDockingArea->AbsoluteScreenToOutputPixel( GetWindow()->OutputToAbsoluteScreenPixel( GetWindow()->GetPosPixel() ) ) );
Rectangle aDockRect( aDockPos, GetWindow()->GetSizePixel() );
StartDocking( aMousePos, aDockRect );
GetWindow()->ImplUpdateAll();
GetWindow()->ImplGetFrameWindow()->ImplUpdateAll();
GetWindow()->StartTracking( STARTTRACK_KEYMOD );
return true;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
// =======================================================================
void ImplDockingWindowWrapper::ImplInitData()
{
mpDockingWindow = NULL;
//GetWindow()->mpWindowImpl->mbDockWin = sal_True; // TODO: must be eliminated
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
mpFloatWin = NULL;
mbDockCanceled = false;
mbFloatPrevented = false;
mbDocking = false;
mbPined = false;
mbRollUp = false;
mbDockBtn = false;
mbHideBtn = false;
maMaxOutSize = Size( SHRT_MAX, SHRT_MAX );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
// -----------------------------------------------------------------------
void ImplDockingWindowWrapper::Tracking( const TrackingEvent& rTEvt )
{
// used during docking of a currently docked window
if ( mbDocking )
{
if ( rTEvt.IsTrackingEnded() )
{
mbDocking = false;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
GetWindow()->HideTracking();
if ( rTEvt.IsTrackingCanceled() )
{
mbDockCanceled = true;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
EndDocking( Rectangle( Point( mnTrackX, mnTrackY ), Size( mnTrackWidth, mnTrackHeight ) ), mbLastFloatMode );
mbDockCanceled = false;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
else
EndDocking( Rectangle( Point( mnTrackX, mnTrackY ), Size( mnTrackWidth, mnTrackHeight ) ), mbLastFloatMode );
}
// Docking only upon non-synthetic MouseEvents
else if ( !rTEvt.GetMouseEvent().IsSynthetic() || rTEvt.GetMouseEvent().IsModifierChanged() )
{
Point aMousePos = rTEvt.GetMouseEvent().GetPosPixel();
Point aFrameMousePos = GetWindow()->ImplOutputToFrame( aMousePos );
Size aFrameSize = GetWindow()->ImplGetFrameWindow()->GetOutputSizePixel();
if ( aFrameMousePos.X() < 0 )
aFrameMousePos.X() = 0;
if ( aFrameMousePos.Y() < 0 )
aFrameMousePos.Y() = 0;
if ( aFrameMousePos.X() > aFrameSize.Width()-1 )
aFrameMousePos.X() = aFrameSize.Width()-1;
if ( aFrameMousePos.Y() > aFrameSize.Height()-1 )
aFrameMousePos.Y() = aFrameSize.Height()-1;
aMousePos = GetWindow()->ImplFrameToOutput( aFrameMousePos );
aMousePos.X() -= maMouseOff.X();
aMousePos.Y() -= maMouseOff.Y();
Point aPos = GetWindow()->ImplOutputToFrame( aMousePos );
Rectangle aTrackRect( aPos, Size( mnTrackWidth, mnTrackHeight ) );
Rectangle aCompRect = aTrackRect;
aPos.X() += maMouseOff.X();
aPos.Y() += maMouseOff.Y();
bool bFloatMode = Docking( aPos, aTrackRect );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
mbFloatPrevented = false;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
if ( mbLastFloatMode != bFloatMode )
{
if ( bFloatMode )
{
aTrackRect.Left() -= mnDockLeft;
aTrackRect.Top() -= mnDockTop;
aTrackRect.Right() += mnDockRight;
aTrackRect.Bottom() += mnDockBottom;
}
else
{
if ( aCompRect == aTrackRect )
{
aTrackRect.Left() += mnDockLeft;
aTrackRect.Top() += mnDockTop;
aTrackRect.Right() -= mnDockRight;
aTrackRect.Bottom() -= mnDockBottom;
}
}
mbLastFloatMode = bFloatMode;
}
sal_uInt16 nTrackStyle;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
if ( bFloatMode )
nTrackStyle = SHOWTRACK_OBJECT;
else
nTrackStyle = SHOWTRACK_BIG;
Rectangle aShowTrackRect = aTrackRect;
aShowTrackRect.SetPos( GetWindow()->ImplFrameToOutput( aShowTrackRect.TopLeft() ) );
GetWindow()->ShowTracking( aShowTrackRect, nTrackStyle );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
// Maus-Offset neu berechnen, da Rechteck veraendert werden
// konnte
maMouseOff.X() = aPos.X() - aTrackRect.Left();
maMouseOff.Y() = aPos.Y() - aTrackRect.Top();
mnTrackX = aTrackRect.Left();
mnTrackY = aTrackRect.Top();
mnTrackWidth = aTrackRect.GetWidth();
mnTrackHeight = aTrackRect.GetHeight();
}
}
}
// -----------------------------------------------------------------------
void ImplDockingWindowWrapper::StartDocking( const Point& rPoint, Rectangle& rRect )
{
DockingData data( rPoint, rRect, IsFloatingMode() );
GetWindow()->ImplCallEventListeners( VCLEVENT_WINDOW_STARTDOCKING, &data );
mbDocking = true;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
// -----------------------------------------------------------------------
bool ImplDockingWindowWrapper::Docking( const Point& rPoint, Rectangle& rRect )
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
DockingData data( rPoint, rRect, IsFloatingMode() );
GetWindow()->ImplCallEventListeners( VCLEVENT_WINDOW_DOCKING, &data );
rRect = data.maTrackRect;
return data.mbFloating;
}
// -----------------------------------------------------------------------
void ImplDockingWindowWrapper::EndDocking( const Rectangle& rRect, bool bFloatMode )
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
Rectangle aRect( rRect );
if ( !IsDockingCanceled() )
{
bool bShow = false;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
if ( bFloatMode != IsFloatingMode() )
{
GetWindow()->Show( false, SHOW_NOFOCUSCHANGE );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
SetFloatingMode( bFloatMode );
bShow = true;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
if ( bFloatMode )
{
// #i44800# always use outputsize - as in all other places
mpFloatWin->SetOutputSizePixel( aRect.GetSize() );
mpFloatWin->SetPosPixel( aRect.TopLeft() );
}
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
if ( !bFloatMode )
{
Point aPos = aRect.TopLeft();
aPos = GetWindow()->GetParent()->ScreenToOutputPixel( aPos );
GetWindow()->SetPosSizePixel( aPos, aRect.GetSize() );
}
if ( bShow )
GetWindow()->Show( true, SHOW_NOFOCUSCHANGE | SHOW_NOACTIVATE );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
EndDockingData data( aRect, IsFloatingMode(), IsDockingCanceled() );
GetWindow()->ImplCallEventListeners( VCLEVENT_WINDOW_ENDDOCKING, &data );
mbDocking = false;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
// must be enabled in Window::Notify to prevent permanent docking during mouse move
mbStartDockingEnabled = false;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
// -----------------------------------------------------------------------
bool ImplDockingWindowWrapper::PrepareToggleFloatingMode()
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
sal_Bool bFloating = sal_True;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
GetWindow()->ImplCallEventListeners( VCLEVENT_WINDOW_PREPARETOGGLEFLOATING, &bFloating );
return bFloating;
}
// -----------------------------------------------------------------------
bool ImplDockingWindowWrapper::Close()
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
// TODO: send event
return true;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
// -----------------------------------------------------------------------
void ImplDockingWindowWrapper::ToggleFloatingMode()
{
// notify dockingwindow/toolbox
// note: this must be done *before* notifying the
// listeners to have the toolbox in the proper state
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
if( GetWindow()->ImplIsDockingWindow() )
((DockingWindow*) GetWindow())->ToggleFloatingMode();
// now notify listeners
GetWindow()->ImplCallEventListeners( VCLEVENT_WINDOW_TOGGLEFLOATING );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
// must be enabled in Window::Notify to prevent permanent docking during mouse move
mbStartDockingEnabled = false;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
// -----------------------------------------------------------------------
void ImplDockingWindowWrapper::TitleButtonClick( sal_uInt16 nType )
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
if( nType == TITLE_BUTTON_MENU )
{
ToolBox *pToolBox = dynamic_cast< ToolBox* >( GetWindow() );
if( pToolBox )
{
pToolBox->ExecuteCustomMenu();
}
}
if( nType == TITLE_BUTTON_DOCKING )
{
SetFloatingMode( !IsFloatingMode() );
}
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
// -----------------------------------------------------------------------
void ImplDockingWindowWrapper::Pin()
{
// TODO: send event
}
// -----------------------------------------------------------------------
void ImplDockingWindowWrapper::Roll()
{
// TODO: send event
}
// -----------------------------------------------------------------------
void ImplDockingWindowWrapper::PopupModeEnd()
{
// TODO: send event
}
// -----------------------------------------------------------------------
void ImplDockingWindowWrapper::Resizing( Size& rSize )
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
// TODO: add virtual Resizing() to class Window, so we can get rid of class DockingWindow
DockingWindow *pDockingWindow = dynamic_cast< DockingWindow* >( GetWindow() );
if( pDockingWindow )
pDockingWindow->Resizing( rSize );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
// -----------------------------------------------------------------------
void ImplDockingWindowWrapper::ShowTitleButton( sal_uInt16 nButton, bool bVisible )
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
if ( mpFloatWin )
mpFloatWin->ShowTitleButton( nButton, bVisible );
else
{
if ( nButton == TITLE_BUTTON_DOCKING )
mbDockBtn = bVisible;
else // if ( nButton == TITLE_BUTTON_HIDE )
mbHideBtn = bVisible;
}
}
// -----------------------------------------------------------------------
void ImplDockingWindowWrapper::StartPopupMode( ToolBox *pParentToolBox, sal_uLong nFlags )
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
// do nothing if window is floating
if( IsFloatingMode() )
return;
GetWindow()->Show( false, SHOW_NOFOCUSCHANGE );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
// prepare reparenting
Window* pRealParent = GetWindow()->GetWindow( WINDOW_PARENT );
mpOldBorderWin = GetWindow()->GetWindow( WINDOW_BORDER );
if( mpOldBorderWin == GetWindow() )
mpOldBorderWin = NULL; // no border window found
// the new parent for popup mode
2010-03-11 18:15:22 +01:00
ImplPopupFloatWin* pWin = new ImplPopupFloatWin( mpParent, this, (nFlags & FLOATWIN_POPUPMODE_ALLOWTEAROFF) != 0 );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
pWin->SetPopupModeEndHdl( LINK( this, ImplDockingWindowWrapper, PopupModeEnd ) );
pWin->SetText( GetWindow()->GetText() );
pWin->SetOutputSizePixel( GetWindow()->GetSizePixel() );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
GetWindow()->mpWindowImpl->mpBorderWindow = NULL;
GetWindow()->mpWindowImpl->mnLeftBorder = 0;
GetWindow()->mpWindowImpl->mnTopBorder = 0;
GetWindow()->mpWindowImpl->mnRightBorder = 0;
GetWindow()->mpWindowImpl->mnBottomBorder = 0;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
// position toolbox below dragrect
GetWindow()->SetPosPixel( pWin->GetToolboxPosition() );
// reparent borderwindow and window
if ( mpOldBorderWin )
mpOldBorderWin->SetParent( pWin );
GetWindow()->SetParent( pWin );
// correct border window pointers
GetWindow()->mpWindowImpl->mpBorderWindow = pWin;
pWin->mpWindowImpl->mpClientWindow = GetWindow();
GetWindow()->mpWindowImpl->mpRealParent = pRealParent;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
// set mpFloatWin not until all window positioning is done !!!
// (SetPosPixel etc. check for valid mpFloatWin pointer)
mpFloatWin = pWin;
// if the subtoolbar was opened via keyboard make sure that key events
// will go into subtoolbar
if( pParentToolBox->IsKeyEvent() )
nFlags |= FLOATWIN_POPUPMODE_GRABFOCUS;
mpFloatWin->StartPopupMode( pParentToolBox, nFlags );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
GetWindow()->Show();
if( pParentToolBox->IsKeyEvent() )
{
// send HOME key to subtoolbar in order to select first item
KeyEvent aEvent( 0, KeyCode( KEY_HOME ) );
mpFloatWin->GetPreferredKeyInputWindow()->KeyInput( aEvent );
}
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
IMPL_LINK_NOARG(ImplDockingWindowWrapper, PopupModeEnd)
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
GetWindow()->Show( false, SHOW_NOFOCUSCHANGE );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
// set parameter for handler before destroying floating window
ImplPopupFloatWin *pPopupFloatWin = (ImplPopupFloatWin*) mpFloatWin;
EndPopupModeData aData( pPopupFloatWin->GetTearOffPosition(), mpFloatWin->IsPopupModeTearOff() );
// before deleting change parent back, so we can delete the floating window alone
Window* pRealParent = GetWindow()->GetWindow( WINDOW_PARENT );
GetWindow()->mpWindowImpl->mpBorderWindow = NULL;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
if ( mpOldBorderWin )
{
GetWindow()->SetParent( mpOldBorderWin );
((ImplBorderWindow*)mpOldBorderWin)->GetBorder(
GetWindow()->mpWindowImpl->mnLeftBorder, GetWindow()->mpWindowImpl->mnTopBorder,
GetWindow()->mpWindowImpl->mnRightBorder, GetWindow()->mpWindowImpl->mnBottomBorder );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
mpOldBorderWin->Resize();
}
GetWindow()->mpWindowImpl->mpBorderWindow = mpOldBorderWin;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
GetWindow()->SetParent( pRealParent );
GetWindow()->mpWindowImpl->mpRealParent = pRealParent;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
delete mpFloatWin;
mpFloatWin = NULL;
// call handler - which will destroy the window and thus the wrapper as well !
GetWindow()->ImplCallEventListeners( VCLEVENT_WINDOW_ENDPOPUPMODE, &aData );
return 0;
}
bool ImplDockingWindowWrapper::IsInPopupMode() const
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
if( GetFloatingWindow() )
return GetFloatingWindow()->IsInPopupMode();
else
return false;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
// -----------------------------------------------------------------------
void ImplDockingWindowWrapper::SetFloatingMode( bool bFloatMode )
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
// do nothing if window is docked and locked
if( !IsFloatingMode() && IsLocked() )
return;
if ( IsFloatingMode() != bFloatMode )
{
if ( PrepareToggleFloatingMode() )
{
bool bVisible = GetWindow()->IsVisible();
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
if ( bFloatMode )
{
GetWindow()->Show( false, SHOW_NOFOCUSCHANGE );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
maDockPos = GetWindow()->GetPosPixel();
Window* pRealParent = GetWindow()->GetWindow( WINDOW_PARENT );
mpOldBorderWin = GetWindow()->GetWindow( WINDOW_BORDER );
if( mpOldBorderWin == mpDockingWindow )
mpOldBorderWin = NULL; // no border window found
ImplDockFloatWin2* pWin =
new ImplDockFloatWin2(
mpParent,
mnFloatBits & ( WB_MOVEABLE | WB_SIZEABLE | WB_CLOSEABLE ) ?
mnFloatBits | WB_SYSTEMWINDOW
| WB_OWNERDRAWDECORATION
: mnFloatBits,
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
this );
GetWindow()->mpWindowImpl->mpBorderWindow = NULL;
GetWindow()->mpWindowImpl->mnLeftBorder = 0;
GetWindow()->mpWindowImpl->mnTopBorder = 0;
GetWindow()->mpWindowImpl->mnRightBorder = 0;
GetWindow()->mpWindowImpl->mnBottomBorder = 0;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
// Falls Parent zerstoert wird, muessen wir auch vom
// BorderWindow den Parent umsetzen
if ( mpOldBorderWin )
mpOldBorderWin->SetParent( pWin );
GetWindow()->SetParent( pWin );
pWin->SetPosPixel( Point() );
GetWindow()->mpWindowImpl->mpBorderWindow = pWin;
pWin->mpWindowImpl->mpClientWindow = mpDockingWindow;
GetWindow()->mpWindowImpl->mpRealParent = pRealParent;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
pWin->SetText( GetWindow()->GetText() );
pWin->SetOutputSizePixel( GetWindow()->GetSizePixel() );
pWin->SetPosPixel( maFloatPos );
// DockingDaten ans FloatingWindow weiterreichen
pWin->ShowTitleButton( TITLE_BUTTON_DOCKING, mbDockBtn );
pWin->ShowTitleButton( TITLE_BUTTON_HIDE, mbHideBtn );
pWin->SetPin( mbPined );
if ( mbRollUp )
pWin->RollUp();
else
pWin->RollDown();
pWin->SetRollUpOutputSizePixel( maRollUpOutSize );
pWin->SetMinOutputSizePixel( maMinOutSize );
pWin->SetMaxOutputSizePixel( maMaxOutSize );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
mpFloatWin = pWin;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
if ( bVisible )
GetWindow()->Show( true, SHOW_NOFOCUSCHANGE | SHOW_NOACTIVATE );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
ToggleFloatingMode();
}
else
{
GetWindow()->Show( false, SHOW_NOFOCUSCHANGE );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
// FloatingDaten wird im FloatingWindow speichern
maFloatPos = mpFloatWin->GetPosPixel();
mbDockBtn = mpFloatWin->IsTitleButtonVisible( TITLE_BUTTON_DOCKING );
mbHideBtn = mpFloatWin->IsTitleButtonVisible( TITLE_BUTTON_HIDE );
mbPined = mpFloatWin->IsPined();
mbRollUp = mpFloatWin->IsRollUp();
maRollUpOutSize = mpFloatWin->GetRollUpOutputSizePixel();
maMinOutSize = mpFloatWin->GetMinOutputSizePixel();
maMaxOutSize = mpFloatWin->GetMaxOutputSizePixel();
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
Window* pRealParent = GetWindow()->GetWindow( WINDOW_PARENT ); //mpWindowImpl->mpRealParent;
GetWindow()->mpWindowImpl->mpBorderWindow = NULL;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
if ( mpOldBorderWin )
{
GetWindow()->SetParent( mpOldBorderWin );
((ImplBorderWindow*)mpOldBorderWin)->GetBorder(
GetWindow()->mpWindowImpl->mnLeftBorder, GetWindow()->mpWindowImpl->mnTopBorder,
GetWindow()->mpWindowImpl->mnRightBorder, GetWindow()->mpWindowImpl->mnBottomBorder );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
mpOldBorderWin->Resize();
}
GetWindow()->mpWindowImpl->mpBorderWindow = mpOldBorderWin;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
GetWindow()->SetParent( pRealParent );
GetWindow()->mpWindowImpl->mpRealParent = pRealParent;
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
delete static_cast<ImplDockFloatWin2*>(mpFloatWin);
mpFloatWin = NULL;
GetWindow()->SetPosPixel( maDockPos );
if ( bVisible )
GetWindow()->Show();
ToggleFloatingMode();
}
}
}
}
// -----------------------------------------------------------------------
void ImplDockingWindowWrapper::SetFloatStyle( WinBits nStyle )
{
mnFloatBits = nStyle;
}
// -----------------------------------------------------------------------
WinBits ImplDockingWindowWrapper::GetFloatStyle() const
{
return mnFloatBits;
}
// -----------------------------------------------------------------------
void ImplDockingWindowWrapper::setPosSizePixel( long nX, long nY,
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
long nWidth, long nHeight,
sal_uInt16 nFlags )
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
if ( mpFloatWin )
mpFloatWin->setPosSizePixel( nX, nY, nWidth, nHeight, nFlags );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
else
GetWindow()->setPosSizePixel( nX, nY, nWidth, nHeight, nFlags );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
// -----------------------------------------------------------------------
Point ImplDockingWindowWrapper::GetPosPixel() const
{
if ( mpFloatWin )
return mpFloatWin->GetPosPixel();
else
return mpDockingWindow->GetPosPixel();
}
// -----------------------------------------------------------------------
Size ImplDockingWindowWrapper::GetSizePixel() const
{
if ( mpFloatWin )
return mpFloatWin->GetSizePixel();
else
return mpDockingWindow->GetSizePixel();
}
// -----------------------------------------------------------------------
// old inlines from DockingWindow
// -----------------------------------------------------------------------
void ImplDockingWindowWrapper::SetMinOutputSizePixel( const Size& rSize )
{
if ( mpFloatWin )
mpFloatWin->SetMinOutputSizePixel( rSize );
maMinOutSize = rSize;
}
void ImplDockingWindowWrapper::SetMaxOutputSizePixel( const Size& rSize )
{
if ( mpFloatWin )
mpFloatWin->SetMaxOutputSizePixel( rSize );
maMaxOutSize = rSize;
}
bool ImplDockingWindowWrapper::IsFloatingMode() const
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
return (mpFloatWin != NULL);
}
void ImplDockingWindowWrapper::SetDragArea( const Rectangle& rRect )
{
maDragArea = rRect;
}
Rectangle ImplDockingWindowWrapper::GetDragArea() const
{
return maDragArea;
}
void ImplDockingWindowWrapper::Lock()
{
mbLocked = true;
// only toolbars support locking
ToolBox *pToolBox = dynamic_cast< ToolBox * >( GetWindow() );
if( pToolBox )
pToolBox->Lock( mbLocked );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
void ImplDockingWindowWrapper::Unlock()
{
mbLocked = false;
// only toolbars support locking
ToolBox *pToolBox = dynamic_cast< ToolBox * >( GetWindow() );
if( pToolBox )
pToolBox->Lock( mbLocked );
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
}
bool ImplDockingWindowWrapper::IsLocked() const
INTEGRATION: CWS docking1 (1.1.2); FILE ADDED 2004/06/14 16:22:11 ssa 1.1.2.22: #i25121# improve focus handling 2004/06/14 13:52:52 ssa 1.1.2.21: #i25121# smaller grip 2004/06/14 10:16:40 ssa 1.1.2.20: #i25121# fulldrag for subtoolbars 2004/06/11 16:02:19 ssa 1.1.2.19: #i25121# improve new subtoolbars 2004/06/09 17:19:48 ssa 1.1.2.18: #i25121# implement popupmode 2004/06/09 11:20:55 cd 1.1.2.17: #i10000# Build problem fixed 2004/06/04 15:40:12 ssa 1.1.2.16: #i25121# support for subtoolbars 2004/05/25 15:24:42 ssa 1.1.2.15: #i25117# use screen coordinates for trackingrect pos 2004/05/11 17:25:00 ssa 1.1.2.14: #i25117# support for toolbar locking 2004/04/26 11:47:59 ssa 1.1.2.13: #i24913# check mouse down in dockinghdl to prevent docking due to programatically changing the position 2004/04/21 17:08:35 cd 1.1.2.12: #i24913# Check visibility 2004/04/20 16:54:21 ssa 1.1.2.11: #i24913# provide close handler 2004/04/07 17:32:45 ssa 1.1.2.10: #i24913# start/enddocking during floatingwindow move 2004/04/07 16:47:00 ssa 1.1.2.9: #i24913# docking without Ctrl, provide drag area 2004/04/06 16:49:13 ssa 1.1.2.8: #i24913# improve calculation of dockingrect 2004/04/06 08:53:40 ssa 1.1.2.7: #i24939# enable startdocking during mouse move only after single-click 2004/04/05 16:19:38 ssa 1.1.2.6: #i24939# trackingrect in screen coordinates 2004/04/02 14:09:43 ssa 1.1.2.5: #i24913# send dockingdata with startdocking 2004/04/02 12:06:22 ssa 1.1.2.4: #i24913# provide method to actively query the mouse pointer 2004/03/29 15:40:23 cd 1.1.2.3: #i24913# Save returned rectangle and use local copy of data because dtor can be called before 2004/03/25 16:00:06 ssa 1.1.2.2: #i24913# extend dockable interface 2004/03/24 17:57:29 ssa 1.1.2.1: #i24913# support for dockable windows via toolkit
2004-07-06 12:48:09 +00:00
{
return mbLocked;
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */