summaryrefslogtreecommitdiffstats
path: root/reportdesign
diff options
context:
space:
mode:
Diffstat (limited to 'reportdesign')
-rw-r--r--reportdesign/images/em42.pngbin0 -> 1965 bytes
-rw-r--r--reportdesign/images/em42_hc.pngbin0 -> 1160 bytes
-rw-r--r--reportdesign/inc/RptResId.hrc1
-rw-r--r--reportdesign/registry/data/org/openoffice/Office/UI/ReportCommands.xcu19
-rw-r--r--reportdesign/source/core/api/Group.cxx6
-rw-r--r--reportdesign/source/core/api/ReportDefinition.cxx19
-rw-r--r--reportdesign/source/core/api/Section.cxx1
-rw-r--r--reportdesign/source/filter/xml/xmlfilter.cxx5
-rw-r--r--reportdesign/source/inc/uistrings.hrc5
-rw-r--r--reportdesign/source/shared/uistrings.cxx5
-rw-r--r--reportdesign/source/ui/inc/DesignView.hxx26
-rw-r--r--reportdesign/source/ui/inc/ReportController.hxx10
-rw-r--r--reportdesign/source/ui/inc/ReportWindow.hxx15
-rw-r--r--reportdesign/source/ui/inc/ScrollHelper.hxx11
-rw-r--r--reportdesign/source/ui/inc/SectionWindow.hxx4
-rw-r--r--reportdesign/source/ui/inc/StartMarker.hxx2
-rw-r--r--reportdesign/source/ui/inc/UITools.hxx4
-rw-r--r--reportdesign/source/ui/inc/ViewsWindow.hxx4
-rw-r--r--reportdesign/source/ui/inc/metadata.hxx11
-rw-r--r--reportdesign/source/ui/inc/statusbarcontroller.hxx12
-rw-r--r--reportdesign/source/ui/inspection/GeometryHandler.cxx216
-rw-r--r--reportdesign/source/ui/inspection/inspection.src5
-rw-r--r--reportdesign/source/ui/inspection/metadata.cxx1
-rw-r--r--reportdesign/source/ui/misc/UITools.cxx8
-rw-r--r--reportdesign/source/ui/misc/statusbarcontroller.cxx58
-rw-r--r--reportdesign/source/ui/report/DesignView.cxx9
-rw-r--r--reportdesign/source/ui/report/InsertFunctions.cxx88
-rw-r--r--reportdesign/source/ui/report/ReportController.cxx126
-rw-r--r--reportdesign/source/ui/report/ReportSection.cxx24
-rw-r--r--reportdesign/source/ui/report/ReportWindow.cxx105
-rw-r--r--reportdesign/source/ui/report/ScrollHelper.cxx84
-rw-r--r--reportdesign/source/ui/report/SectionWindow.cxx80
-rw-r--r--reportdesign/source/ui/report/StartMarker.cxx31
-rw-r--r--reportdesign/source/ui/report/ViewsWindow.cxx92
-rw-r--r--reportdesign/source/ui/report/dlgedfunc.cxx17
-rw-r--r--reportdesign/source/ui/report/makefile.mk3
-rw-r--r--reportdesign/source/ui/report/report.src2
-rw-r--r--reportdesign/uiconfig/dbreport/menubar/menubar.xml300
-rw-r--r--reportdesign/uiconfig/dbreport/statusbar/statusbar.xml3
-rw-r--r--reportdesign/util/description.xml49
-rw-r--r--reportdesign/util/makefile.mk30
41 files changed, 840 insertions, 651 deletions
diff --git a/reportdesign/images/em42.png b/reportdesign/images/em42.png
new file mode 100644
index 000000000000..31f48ea8fb69
--- /dev/null
+++ b/reportdesign/images/em42.png
Binary files differ
diff --git a/reportdesign/images/em42_hc.png b/reportdesign/images/em42_hc.png
new file mode 100644
index 000000000000..3870cc4709d4
--- /dev/null
+++ b/reportdesign/images/em42_hc.png
Binary files differ
diff --git a/reportdesign/inc/RptResId.hrc b/reportdesign/inc/RptResId.hrc
index f22819d4e9f4..0faa2de30a08 100644
--- a/reportdesign/inc/RptResId.hrc
+++ b/reportdesign/inc/RptResId.hrc
@@ -227,6 +227,7 @@
#define RID_ERR_NO_COMMAND (RID_STRING_START + 151)
#define RID_ERR_NO_OBJECTS (RID_STRING_START + 152)
#define RID_STR_AREA (RID_STRING_START + 153)
+#define RID_STR_NONE (RID_STRING_START + 154)
// #define RID_STR_ (RID_STRING_START + 130)
// -----------------------------------------------------------------------
diff --git a/reportdesign/registry/data/org/openoffice/Office/UI/ReportCommands.xcu b/reportdesign/registry/data/org/openoffice/Office/UI/ReportCommands.xcu
index bfcce7dc5aba..90bbcb2a5e6e 100644
--- a/reportdesign/registry/data/org/openoffice/Office/UI/ReportCommands.xcu
+++ b/reportdesign/registry/data/org/openoffice/Office/UI/ReportCommands.xcu
@@ -8,7 +8,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: ReportCommands.xcu,v $
- * $Revision: 1.2 $
+ * $Revision: 1.2.2.1 $
*
* This file is part of OpenOffice.org.
*
@@ -88,14 +88,12 @@
</node>
<node oor:name=".uno:InsertDateTimeField" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
- <value xml:lang="de">~Datum und Zeit...</value>
<value xml:lang="en-US">~Date and Time...</value>
</prop>
</node>
<node oor:name=".uno:SelectReport" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
- <value xml:lang="de">~Bericht markieren...</value>
- <value xml:lang="en-US">~Select Report...</value>
+ <value xml:lang="en-US">~Select Report</value>
</prop>
</node>
<node oor:name=".uno:SubReportInNewWindow" oor:op="replace">
@@ -253,7 +251,6 @@
</node>
<node oor:name=".uno:SectionAlignBottom" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
- <value xml:lang="de">Unten am Bereich</value>
<value xml:lang="en-US">Bottom Align on Section</value>
</prop>
<prop oor:name="Properties" oor:type="xs:int">
@@ -262,19 +259,27 @@
</node>
<node oor:name=".uno:SectionAlignCenter" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
- <value xml:lang="de">Zentriert am Bereich</value>
<value xml:lang="en-US">Centered on Section</value>
</prop>
</node>
<node oor:name=".uno:SectionAlignMiddle" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
- <value xml:lang="de">Mittig am Bereich</value>
<value xml:lang="en-US">Middle on Section</value>
</prop>
<prop oor:name="Properties" oor:type="xs:int">
<value>1</value>
</prop>
</node>
+ <node oor:name=".uno:SelectAllLabels" oor:op="replace">
+ <prop oor:name="Label" oor:type="xs:string">
+ <value xml:lang="en-US">Select all Labels</value>
+ </prop>
+ </node>
+ <node oor:name=".uno:SelectAllEdits" oor:op="replace">
+ <prop oor:name="Label" oor:type="xs:string">
+ <value xml:lang="en-US">Select all Formatted Fields</value>
+ </prop>
+ </node>
</node>
<node oor:name="Popups">
<node oor:name=".uno:ExportReportTo" oor:op="replace">
diff --git a/reportdesign/source/core/api/Group.cxx b/reportdesign/source/core/api/Group.cxx
index c2939a8ce9f1..ec26696f8ec6 100644
--- a/reportdesign/source/core/api/Group.cxx
+++ b/reportdesign/source/core/api/Group.cxx
@@ -125,8 +125,10 @@ void SAL_CALL OGroup::dispose() throw(uno::RuntimeException)
//
void SAL_CALL OGroup::disposing()
{
- ::comphelper::disposeComponent(m_xHeader);
- ::comphelper::disposeComponent(m_xFooter);
+ m_xHeader.clear();
+ m_xFooter.clear();
+ //::comphelper::disposeComponent(m_xHeader);
+ //::comphelper::disposeComponent(m_xFooter);
::comphelper::disposeComponent(m_xFunctions);
m_xContext.clear();
}
diff --git a/reportdesign/source/core/api/ReportDefinition.cxx b/reportdesign/source/core/api/ReportDefinition.cxx
index 0f7ab046cc41..11142178063e 100644
--- a/reportdesign/source/core/api/ReportDefinition.cxx
+++ b/reportdesign/source/core/api/ReportDefinition.cxx
@@ -582,7 +582,11 @@ struct OReportDefinitionImpl
,m_bModified(_aCopy.m_bModified)
,m_bEscapeProcessing(_aCopy.m_bEscapeProcessing)
{}
+ ~OReportDefinitionImpl();
};
+OReportDefinitionImpl::~OReportDefinitionImpl()
+{
+}
DBG_NAME( rpt_OReportDefinition )
// -----------------------------------------------------------------------------
@@ -718,11 +722,16 @@ void SAL_CALL OReportDefinition::disposing()
m_pImpl->m_aStorageChangeListeners.disposeAndClear( aDisposeEvent );
::comphelper::disposeComponent(m_pImpl->m_xGroups);
- ::comphelper::disposeComponent(m_pImpl->m_xReportHeader);
- ::comphelper::disposeComponent(m_pImpl->m_xReportFooter);
- ::comphelper::disposeComponent(m_pImpl->m_xPageHeader);
- ::comphelper::disposeComponent(m_pImpl->m_xPageFooter);
- ::comphelper::disposeComponent(m_pImpl->m_xDetail);
+ m_pImpl->m_xReportHeader.clear();
+ m_pImpl->m_xReportFooter.clear();
+ m_pImpl->m_xPageHeader.clear();
+ m_pImpl->m_xPageFooter.clear();
+ m_pImpl->m_xDetail.clear();
+ //::comphelper::disposeComponent(m_pImpl->m_xReportHeader);
+ //::comphelper::disposeComponent(m_pImpl->m_xReportFooter);
+ //::comphelper::disposeComponent(m_pImpl->m_xPageHeader);
+ //::comphelper::disposeComponent(m_pImpl->m_xPageFooter);
+ //::comphelper::disposeComponent(m_pImpl->m_xDetail);
::comphelper::disposeComponent(m_pImpl->m_xFunctions);
//::comphelper::disposeComponent(m_pImpl->m_xStorage);
diff --git a/reportdesign/source/core/api/Section.cxx b/reportdesign/source/core/api/Section.cxx
index 84bfb62480fe..14118e0baaad 100644
--- a/reportdesign/source/core/api/Section.cxx
+++ b/reportdesign/source/core/api/Section.cxx
@@ -172,6 +172,7 @@ uno::Any SAL_CALL OSection::queryInterface( const uno::Type& _rType ) throw (uno
// -----------------------------------------------------------------------------
void SAL_CALL OSection::dispose() throw(uno::RuntimeException)
{
+ OSL_ENSURE(!rBHelper.bDisposed,"Already disposed!");
SectionPropertySet::dispose();
cppu::WeakComponentImplHelperBase::dispose();
diff --git a/reportdesign/source/filter/xml/xmlfilter.cxx b/reportdesign/source/filter/xml/xmlfilter.cxx
index c2b3714526f4..f6cd4ca66ab5 100644
--- a/reportdesign/source/filter/xml/xmlfilter.cxx
+++ b/reportdesign/source/filter/xml/xmlfilter.cxx
@@ -562,7 +562,10 @@ sal_Bool ORptFilter::implImport( const Sequence< PropertyValue >& rDescriptor )
static const ::rtl::OUString s_sOld(RTL_CONSTASCII_USTRINGPARAM("OldFormat"));
static comphelper::PropertyMapEntry pMap[] =
{
- {"OldFormat", 9, 1, &::getCppuType((const sal_Bool*)0) ,PropertyAttribute::BOUND,0},
+ { MAP_LEN( "OldFormat" ), 1, &::getCppuType((const sal_Bool*)0), beans::PropertyAttribute::BOUND, 0 },
+ { MAP_LEN( "StreamName"), 0, &::getCppuType( (::rtl::OUString *)0 ), beans::PropertyAttribute::MAYBEVOID, 0 },
+ { MAP_LEN("PrivateData"), 0, &::getCppuType( (uno::Reference<XInterface> *)0 ), beans::PropertyAttribute::MAYBEVOID, 0 },
+ { MAP_LEN( "StreamName"), 0,&::getCppuType( (::rtl::OUString *)0 ),beans::PropertyAttribute::MAYBEVOID, 0 },
{ MAP_LEN( "StreamName"), 0,&::getCppuType( (::rtl::OUString *)0 ),beans::PropertyAttribute::MAYBEVOID, 0 },
{ NULL, 0, 0, NULL, 0, 0 }
};
diff --git a/reportdesign/source/inc/uistrings.hrc b/reportdesign/source/inc/uistrings.hrc
index 6cd0e28323dd..c6e4669f6b74 100644
--- a/reportdesign/source/inc/uistrings.hrc
+++ b/reportdesign/source/inc/uistrings.hrc
@@ -68,6 +68,11 @@ DECLARE_CONSTASCII_USTRING(PROPERTY_TITLE );
DECLARE_CONSTASCII_USTRING(PROPERTY_AREA );
DECLARE_CONSTASCII_USTRING(PROPERTY_FILLCOLOR );
+DECLARE_CONSTASCII_USTRING(PROPERTY_FILLGRADIENT );
+DECLARE_CONSTASCII_USTRING(PROPERTY_FILLGRADIENTNAME );
+DECLARE_CONSTASCII_USTRING(PROPERTY_FILLHATCHNAME );
+DECLARE_CONSTASCII_USTRING(PROPERTY_FILLBITMAPNAME );
+DECLARE_CONSTASCII_USTRING(PROPERTY_FILLSTYLE );
}
#endif // REPORTDESIGN_SHARED_UISTRINGS_HRC
diff --git a/reportdesign/source/shared/uistrings.cxx b/reportdesign/source/shared/uistrings.cxx
index f8593d6f67fc..2fc710228552 100644
--- a/reportdesign/source/shared/uistrings.cxx
+++ b/reportdesign/source/shared/uistrings.cxx
@@ -62,5 +62,10 @@ namespace rptui
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_AREA , "Area");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FILLCOLOR , "FillColor");
+ IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FILLGRADIENT , "FillGradient");
+ IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FILLGRADIENTNAME , "FillGradientName");
+ IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FILLHATCHNAME , "FillHatchName");
+ IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FILLBITMAPNAME , "FillBitmapName");
+ IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FILLSTYLE , "FillStyle");
}
diff --git a/reportdesign/source/ui/inc/DesignView.hxx b/reportdesign/source/ui/inc/DesignView.hxx
index bc072711e45a..47d75744ee1b 100644
--- a/reportdesign/source/ui/inc/DesignView.hxx
+++ b/reportdesign/source/ui/inc/DesignView.hxx
@@ -34,23 +34,28 @@
#include <com/sun/star/frame/XController.hpp>
#include <com/sun/star/report/XSection.hpp>
#include <com/sun/star/report/XReportComponent.hpp>
-#include <vcl/split.hxx>
-#include <vcl/scrbar.hxx>
#include <com/sun/star/container/XNameContainer.hpp>
#include <com/sun/star/datatransfer/DataFlavor.hpp>
#include <tools/link.hxx>
#include <tools/gen.hxx>
+
#include <vcl/timer.hxx>
+#include <vcl/tabpage.hxx>
+#include <vcl/splitwin.hxx>
+#include <vcl/split.hxx>
+#include <vcl/scrbar.hxx>
+
#include <svtools/hint.hxx>
#include <svtools/brdcst.hxx>
-#include <comphelper/stl_types.hxx>
-#include "ReportDefines.hxx"
#include <svtools/colorcfg.hxx>
#include <boost/shared_ptr.hpp>
#include <svx/svdedtv.hxx>
-#include <vcl/tabpage.hxx>
-#include <vcl/splitwin.hxx>
-#include <MarkedSection.hxx>
+#include <svx/zoomitem.hxx>
+
+#include <comphelper/stl_types.hxx>
+
+#include "ReportDefines.hxx"
+#include "MarkedSection.hxx"
#include "ScrollHelper.hxx"
class KeyEvent;
@@ -276,12 +281,17 @@ namespace rptui
/** zoom the ruler and view windows
*/
- void zoom(const sal_Int16 _nZoom);
+ void zoom(const Fraction& _aZoom);
/** fills the vector with all selected control models
/param _rSelection The vector will be filled and will not be cleared before.
*/
void fillControlModelSelection(::std::vector< ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > >& _rSelection) const;
+
+ /** calculates the zoom factor.
+ @param _eType which kind of zoom is needed
+ */
+ sal_uInt16 getZoomFactor(SvxZoomType _eType) const;
};
//==================================================================
} //rptui
diff --git a/reportdesign/source/ui/inc/ReportController.hxx b/reportdesign/source/ui/inc/ReportController.hxx
index 44928a9f01c5..40e45fc67457 100644
--- a/reportdesign/source/ui/inc/ReportController.hxx
+++ b/reportdesign/source/ui/inc/ReportController.hxx
@@ -53,6 +53,7 @@
#include <svtools/transfer.hxx>
#include <svtools/lstner.hxx>
#include <svx/svdedtv.hxx>
+#include <svx/zoomitem.hxx>
#include "ModuleHelper.hxx"
#include <comphelper/uno3.hxx>
@@ -116,8 +117,8 @@ namespace rptui
::rtl::OUString m_sMode; /// the current mode of the controller
sal_Int32 m_nSplitPos; /// the position of the splitter
sal_Int32 m_nPageNum; /// the page number from the restoreView call
- //sal_Int32 m_nExecuteReportEvent;
sal_Int16 m_nZoomValue;
+ SvxZoomType m_eZoomType;
sal_Bool m_bShowRuler;
sal_Bool m_bGridVisible;
sal_Bool m_bGridUse;
@@ -176,6 +177,10 @@ namespace rptui
*/
void openSortingAndGroupingDialog();
+ /** opens the zoom dialog
+ */
+ void openZoomDialog();
+
/** returns the position of the group inside the groups collection
*/
sal_Int32 getGroupPosition(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XGroup >& _xGroup);
@@ -419,7 +424,8 @@ namespace rptui
::boost::shared_ptr<rptui::OReportModel> getSdrModel();
inline ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > getContext() const { return m_xContext; }
- inline sal_Int16 getZoomValue() const { return m_nZoomValue; }
+ inline sal_Int16 getZoomValue() const { return m_nZoomValue; }
+ inline void resetZoomType() { m_eZoomType = SVX_ZOOM_PERCENT; }
// com::sun::star::beans::XPropertySet
virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ) throw(::com::sun::star::uno::RuntimeException)
diff --git a/reportdesign/source/ui/inc/ReportWindow.hxx b/reportdesign/source/ui/inc/ReportWindow.hxx
index ba4e96d6a0c7..0cbe48c38203 100644
--- a/reportdesign/source/ui/inc/ReportWindow.hxx
+++ b/reportdesign/source/ui/inc/ReportWindow.hxx
@@ -35,6 +35,7 @@
#include "StartMarker.hxx"
#include <svtools/ruler.hxx>
#include <svx/svdedtv.hxx>
+#include <svx/zoomitem.hxx>
#include <vector>
#include <boost/shared_ptr.hpp>
@@ -68,6 +69,7 @@ namespace rptui
void ImplInitSettings();
sal_Int32 GetTotalHeight() const;
+ sal_Int32 impl_getRealPixelWidth() const;
OReportWindow(OReportWindow&);
void operator =(OReportWindow&);
@@ -120,7 +122,7 @@ namespace rptui
*/
BOOL HasSelection();
- Point getScrollOffset() const;
+ Point getThumbPos() const;
/** removes the section at the given position.
*
@@ -162,9 +164,9 @@ namespace rptui
*/
sal_Int32 getMaxMarkerWidth(sal_Bool _bWithEnd) const;
- void ScrollChildren(long nDeltaX, long nDeltaY);
+ void ScrollChildren(const Point& _aThumbPos);
- void notifyHeightChanged();
+ void notifySizeChanged();
/** unmark all objects on the views without the given one.
*
@@ -220,12 +222,17 @@ namespace rptui
/** zoom the ruler and view windows
*/
- void zoom(const sal_Int16 _nZoom);
+ void zoom(const Fraction& _aZoom);
/** fills the vector with all selected control models
/param _rSelection The vector will be filled and will not be cleared before.
*/
void fillControlModelSelection(::std::vector< ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > >& _rSelection) const;
+
+ /** calculates the zoom factor.
+ @param _eType which kind of zoom is needed
+ */
+ sal_uInt16 getZoomFactor(SvxZoomType _eType) const;
};
//==================================================================
} //rptui
diff --git a/reportdesign/source/ui/inc/ScrollHelper.hxx b/reportdesign/source/ui/inc/ScrollHelper.hxx
index 76e8695ef8d9..5321103b7c78 100644
--- a/reportdesign/source/ui/inc/ScrollHelper.hxx
+++ b/reportdesign/source/ui/inc/ScrollHelper.hxx
@@ -66,7 +66,6 @@ namespace rptui
ScrollBar m_aVScroll;
ScrollBarBox m_aCornerWin; // window in the bottom right corner
Size m_aTotalPixelSize;
- Point m_aPixOffset; // offset to virtual window (pixel)
ODesignView* m_pParent;
OReportWindow m_aReportWindow;
::rtl::Reference<comphelper::OPropertyChangeMultiplexer >
@@ -76,7 +75,6 @@ namespace rptui
Size ResizeScrollBars();
void ImplInitSettings();
void impl_initScrollBar( ScrollBar& _rScrollBar ) const;
- void impl_scrollContent( long nDeltaX, long nDeltaY );
OScrollWindowHelper(OScrollWindowHelper&);
void operator =(OScrollWindowHelper&);
@@ -95,7 +93,7 @@ namespace rptui
*/
void initialize();
- inline Point getScrollOffset() const { return Point(m_aHScroll.GetThumbPos(),m_aVScroll.GetThumbPos())/*m_aScrollOffset*/; }
+ inline Point getThumbPos() const { return Point(m_aHScroll.GetThumbPos(),m_aVScroll.GetThumbPos())/*m_aScrollOffset*/; }
inline const OReportWindow& getReportWindow() const { return m_aReportWindow; }
void setTotalSize(sal_Int32 _nWidth ,sal_Int32 _nHeight);
inline Size getTotalSize() const { return m_aTotalPixelSize; }
@@ -218,12 +216,17 @@ namespace rptui
/** zoom the ruler and view windows
*/
- void zoom(const sal_Int16 _nZoom);
+ void zoom(const Fraction& _aZoom);
/** fills the vector with all selected control models
/param _rSelection The vector will be filled and will not be cleared before.
*/
void fillControlModelSelection(::std::vector< ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > >& _rSelection) const;
+
+ /** calculates the zoom factor.
+ @param _eType which kind of zoom is needed
+ */
+ sal_uInt16 getZoomFactor(SvxZoomType _eType) const;
};
}
#endif // RPTUI_SCROLLHELPER_HXX
diff --git a/reportdesign/source/ui/inc/SectionWindow.hxx b/reportdesign/source/ui/inc/SectionWindow.hxx
index 0f0bfe73effe..cf1ecb056646 100644
--- a/reportdesign/source/ui/inc/SectionWindow.hxx
+++ b/reportdesign/source/ui/inc/SectionWindow.hxx
@@ -121,9 +121,9 @@ namespace rptui
/** zoom the ruler and view windows
*/
- void zoom(const sal_Int16 _nZoom);
+ void zoom(const Fraction& _aZoom);
- void scrollChildren(long _nDeltaX);
+ void scrollChildren(long _nThumbPosX);
};
//==============================================================================
} // rptui
diff --git a/reportdesign/source/ui/inc/StartMarker.hxx b/reportdesign/source/ui/inc/StartMarker.hxx
index 268119e44927..bbe4204eb989 100644
--- a/reportdesign/source/ui/inc/StartMarker.hxx
+++ b/reportdesign/source/ui/inc/StartMarker.hxx
@@ -87,7 +87,7 @@ namespace rptui
/** zoom the ruler and view windows
*/
- void zoom(const sal_Int16 _nZoom);
+ void zoom(const Fraction& _aZoom);
};
}
#endif // RPTUI_STARTMARKER_HXX
diff --git a/reportdesign/source/ui/inc/UITools.hxx b/reportdesign/source/ui/inc/UITools.hxx
index 4885dc361aca..28b42b65402b 100644
--- a/reportdesign/source/ui/inc/UITools.hxx
+++ b/reportdesign/source/ui/inc/UITools.hxx
@@ -166,10 +166,10 @@ namespace rptui
Rectangle getRectangleFromControl(SdrObject* pControl);
/** sets the map mode at the window
- @param _nZoom in percentage
+ @param _aZoom the zoom scale
@param _rWindow where to set the map mode
*/
- void setZoomFactor(const sal_Int16 _nZoom,Window& _rWindow);
+ void setZoomFactor(const Fraction& _aZoom,Window& _rWindow);
}
#endif //RPTUI_UITOOLS_HXX
diff --git a/reportdesign/source/ui/inc/ViewsWindow.hxx b/reportdesign/source/ui/inc/ViewsWindow.hxx
index b7b419f70db3..995b59e7adba 100644
--- a/reportdesign/source/ui/inc/ViewsWindow.hxx
+++ b/reportdesign/source/ui/inc/ViewsWindow.hxx
@@ -353,9 +353,9 @@ namespace rptui
/** zoom the ruler and view windows
*/
- void zoom(const sal_Int16 _nZoom);
+ void zoom(const Fraction& _aZoom);
- void scrollChildren(long nDeltaX, long nDeltaY);
+ void scrollChildren(const Point& _aThumbPos);
/** fills the vector with all selected control models
/param _rSelection The vector will be filled and will not be cleared before.
diff --git a/reportdesign/source/ui/inc/metadata.hxx b/reportdesign/source/ui/inc/metadata.hxx
index 7e38f5f99a60..2d320df2385a 100644
--- a/reportdesign/source/ui/inc/metadata.hxx
+++ b/reportdesign/source/ui/inc/metadata.hxx
@@ -107,6 +107,7 @@ namespace rptui
//========================================================================
//= property ids (for all browseable properties)
+ //= The ID is used for the view order in the property browser.
//========================================================================
#define PROPERTY_ID_FORCENEWPAGE 1
@@ -135,10 +136,12 @@ namespace rptui
#define PROPERTY_ID_PRINTWHENGROUPCHANGE 24
#define PROPERTY_ID_DEEPTRAVERSING 25
#define PROPERTY_ID_PREEVALUATED 26
- #define PROPERTY_ID_BACKCOLOR 27
- #define PROPERTY_ID_BACKTRANSPARENT 28
- #define PROPERTY_ID_CONTROLBACKGROUND 29
- #define PROPERTY_ID_CONTROLBACKGROUNDTRANSPARENT 30
+
+ #define PROPERTY_ID_BACKCOLOR 29
+ #define PROPERTY_ID_CONTROLBACKGROUND 30
+ #define PROPERTY_ID_BACKTRANSPARENT 27
+ #define PROPERTY_ID_CONTROLBACKGROUNDTRANSPARENT 28
+
#define PROPERTY_ID_FORMULALIST 31
#define PROPERTY_ID_SCOPE 32
#define PROPERTY_ID_RESETPAGENUMBER 33
diff --git a/reportdesign/source/ui/inc/statusbarcontroller.hxx b/reportdesign/source/ui/inc/statusbarcontroller.hxx
index f736e129c519..613ec72b5627 100644
--- a/reportdesign/source/ui/inc/statusbarcontroller.hxx
+++ b/reportdesign/source/ui/inc/statusbarcontroller.hxx
@@ -51,16 +51,20 @@ namespace rptui
public:
OStatusbarController(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxORB);
+ static ::rtl::OUString getImplementationName_Static() throw( ::com::sun::star::uno::RuntimeException );
+ static ::com::sun::star::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_Static(void) throw( ::com::sun::star::uno::RuntimeException );
+ static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL
+ create(::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > const & xContext);
+
+ private:
+ void SAL_CALL OStatusbarController::dispose() throw (::com::sun::star::uno::RuntimeException);
// XInterface
DECLARE_XINTERFACE( )
// XServiceInfo
virtual ::rtl::OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException);
virtual ::com::sun::star::uno::Sequence< ::rtl::OUString> SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
// need by registration
- static ::rtl::OUString getImplementationName_Static() throw( ::com::sun::star::uno::RuntimeException );
- static ::com::sun::star::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_Static(void) throw( ::com::sun::star::uno::RuntimeException );
- static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL
- create(::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > const & xContext);
+
virtual ::sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException);
// XInitialization
diff --git a/reportdesign/source/ui/inspection/GeometryHandler.cxx b/reportdesign/source/ui/inspection/GeometryHandler.cxx
index aa0abdc7a278..3940e8e8326a 100644
--- a/reportdesign/source/ui/inspection/GeometryHandler.cxx
+++ b/reportdesign/source/ui/inspection/GeometryHandler.cxx
@@ -43,6 +43,7 @@
#include <svtools/syslocale.hxx>
#include <tools/diagnose_ex.h>
#include <com/sun/star/lang/XInitialization.hpp>
+#include <com/sun/star/drawing/FillStyle.hpp>
#include "com/sun/star/inspection/StringRepresentation.hpp"
#include <com/sun/star/inspection/PropertyLineElement.hpp>
#include <com/sun/star/inspection/PropertyControlType.hpp>
@@ -441,6 +442,43 @@ uno::Any SAL_CALL GeometryHandler::getPropertyValue(const ::rtl::OUString & Prop
aPropertyValue.clear();
}
break;
+ case PROPERTY_ID_AREA:
+ {
+ drawing::FillStyle aFillStyle;
+ m_xReportComponent->getPropertyValue(PROPERTY_FILLSTYLE) >>= aFillStyle;
+ ::rtl::OUString sProperty;
+ switch(aFillStyle)
+ {
+ case drawing::FillStyle_GRADIENT:
+ sProperty = PROPERTY_FILLGRADIENTNAME;
+ break;
+ case drawing::FillStyle_HATCH:
+ sProperty = PROPERTY_FILLHATCHNAME;
+ break;
+ case drawing::FillStyle_BITMAP:
+ sProperty = PROPERTY_FILLBITMAPNAME;
+ break;
+ case drawing::FillStyle_NONE:
+ {
+ const ::rtl::OUString sNone = String( ModuleRes( RID_STR_NONE ) );
+ aPropertyValue <<= sNone;
+ break;
+ }
+ default:
+ break;
+ }
+
+ if ( sProperty.getLength() )
+ {
+ aPropertyValue = m_xReportComponent->getPropertyValue(sProperty);
+ //if ( drawing::FillStyle_GRADIENT == aFillStyle )
+ //{
+ // static const ::rtl::OUString s_sFillTransparenceGradientName(RTL_CONSTASCII_USTRINGPARAM("FillTransparenceGradientName"));
+ // aPropertyValue = m_xReportComponent->getPropertyValue(s_sFillTransparenceGradientName);
+ //}
+ }
+ }
+ break;
default:
aPropertyValue = m_xReportComponent->getPropertyValue( PropertyName );
break;
@@ -1024,9 +1062,11 @@ uno::Any SAL_CALL GeometryHandler::convertToPropertyValue(const ::rtl::OUString
return m_xFormComponentHandler->convertToPropertyValue(PROPERTY_FONTNAME, _rControlValue);
case PROPERTY_ID_SCOPE:
case PROPERTY_ID_FORMULALIST:
- case PROPERTY_ID_AREA:
aPropertyValue = _rControlValue;
break;
+ case PROPERTY_ID_AREA:
+ //aPropertyValue = _rControlValue;
+ break;
case PROPERTY_ID_TYPE:
{
::rtl::OUString sValue;
@@ -1251,13 +1291,12 @@ uno::Sequence< beans::Property > SAL_CALL GeometryHandler::getSupportedPropertie
} // for (size_t i = 0; i < sizeof(pIncludeProperties)/sizeof(pIncludeProperties[0]) ;++i )
// special property for shapes
-// if ( uno::Reference< report::XShape>(m_xReportComponent,uno::UNO_QUERY).is() )
-// {
-// beans::Property aValue;
-// aValue.Name = PROPERTY_AREA;
-// aNewProps.push_back(aValue);
-// }
- // re-enable when the remaining issues of #i88727# are fixed
+ if ( uno::Reference< report::XShape>(m_xReportComponent,uno::UNO_QUERY).is() )
+ {
+ beans::Property aValue;
+ aValue.Name = PROPERTY_AREA;
+ aNewProps.push_back(aValue);
+ }
return uno::Sequence< beans::Property > (&(*aNewProps.begin()),aNewProps.size());
}
@@ -1283,12 +1322,14 @@ uno::Sequence< ::rtl::OUString > SAL_CALL GeometryHandler::getActuatingPropertie
{
::osl::MutexGuard aGuard( m_aMutex );
- uno::Sequence< ::rtl::OUString > aSeq(5);
+ uno::Sequence< ::rtl::OUString > aSeq(7);
aSeq[0] = PROPERTY_BACKTRANSPARENT;
aSeq[1] = PROPERTY_CONTROLBACKGROUNDTRANSPARENT;
aSeq[2] = PROPERTY_FORMULALIST;
aSeq[3] = PROPERTY_TYPE;
aSeq[4] = PROPERTY_DATAFIELD;
+ aSeq[5] = PROPERTY_FILLSTYLE;
+ aSeq[6] = PROPERTY_FILLCOLOR;
return ::comphelper::concatSequences(m_xFormComponentHandler->getActuatingProperties(),aSeq);
}
@@ -1339,15 +1380,15 @@ inspection::InteractiveSelectionResult SAL_CALL GeometryHandler::onInteractivePr
inspection::InteractiveSelectionResult eResult = inspection::InteractiveSelectionResult_Cancelled;
const uno::Reference< awt::XWindow> xInspectorWindow(m_xContext->getValueByName( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DialogParentWindow"))) ,uno::UNO_QUERY);
const uno::Reference< report::XShape> xShape(m_xReportComponent,uno::UNO_QUERY);
+
aGuard.clear();
if ( rptui::openAreaDialog( xShape, xInspectorWindow) )
{
eResult = inspection::InteractiveSelectionResult_ObtainedValue;
beans::PropertyChangeEvent aScopeEvent;
- aScopeEvent.PropertyName = PROPERTY_FILLCOLOR;
- // aScopeEvent.OldValue <<= _nOldDataFieldType;
- aScopeEvent.NewValue <<= xShape->getPropertyValue(PROPERTY_FILLCOLOR);
+ aScopeEvent.PropertyName = PROPERTY_FILLSTYLE;
+ aScopeEvent.NewValue = xShape->getPropertyValue(PROPERTY_FILLSTYLE);
m_aPropertyListeners.notify( aScopeEvent, &beans::XPropertyChangeListener::propertyChange );
}
return eResult;
@@ -1363,79 +1404,102 @@ void SAL_CALL GeometryHandler::actuatingPropertyChanged(const ::rtl::OUString &
throw lang::NullPointerException();
::osl::MutexGuard aGuard( m_aMutex );
- const sal_Int32 nId = m_pInfoService->getPropertyId(ActuatingPropertyName);
- switch(nId)
+ if ( ActuatingPropertyName == PROPERTY_FILLSTYLE )
{
- case PROPERTY_ID_TYPE:
- {
- sal_uInt32 nNewVal = 0;
- NewValue >>= nNewVal;
- switch(nNewVal)
+ drawing::FillStyle aFillStyle;
+ NewValue >>= aFillStyle;
+ const sal_Bool bEnable = aFillStyle == drawing::FillStyle_SOLID;
+ _rxInspectorUI->enablePropertyUI(PROPERTY_FILLCOLOR,bEnable);
+ if ( bEnable )
+ _rxInspectorUI->rebuildPropertyUI(PROPERTY_FILLCOLOR);
+
+ _rxInspectorUI->rebuildPropertyUI(PROPERTY_AREA);
+ } // if ( ActuatingPropertyName == PROPERTY_FILLSTYLE || ActuatingPropertyName == PROPERTY_FILLCOLOR )
+ else if ( ActuatingPropertyName == PROPERTY_FILLCOLOR )
+ {
+ if ( m_xReportComponent.is() && m_xReportComponent->getPropertySetInfo()->hasPropertyByName(PROPERTY_FILLSTYLE) )
+ {
+ drawing::FillStyle aFillStyle;
+ m_xReportComponent->getPropertyValue( PROPERTY_FILLSTYLE ) >>= aFillStyle;
+ _rxInspectorUI->enablePropertyUI(PROPERTY_FILLCOLOR,aFillStyle == drawing::FillStyle_SOLID);
+ }
+ }
+ else
+ {
+ const sal_Int32 nId = m_pInfoService->getPropertyId(ActuatingPropertyName);
+ switch(nId)
+ {
+ case PROPERTY_ID_TYPE:
{
- case DATA_OR_FORMULA:
- _rxInspectorUI->rebuildPropertyUI(PROPERTY_DATAFIELD);
- _rxInspectorUI->enablePropertyUI(PROPERTY_DATAFIELD,sal_True);
- _rxInspectorUI->enablePropertyUI(PROPERTY_FORMULALIST,sal_False);
- _rxInspectorUI->enablePropertyUI(PROPERTY_SCOPE,sal_False);
- OSL_ENSURE(m_sDefaultFunction.getLength() == 0,"Why is the m_sDefaultFunction set?");
- OSL_ENSURE(m_sScope.getLength() == 0,"Why is the m_sScope set?");
- break;
- case FUNCTION:
+ sal_uInt32 nNewVal = 0;
+ NewValue >>= nNewVal;
+ switch(nNewVal)
+ {
+ case DATA_OR_FORMULA:
+ _rxInspectorUI->rebuildPropertyUI(PROPERTY_DATAFIELD);
+ _rxInspectorUI->enablePropertyUI(PROPERTY_DATAFIELD,sal_True);
+ _rxInspectorUI->enablePropertyUI(PROPERTY_FORMULALIST,sal_False);
+ _rxInspectorUI->enablePropertyUI(PROPERTY_SCOPE,sal_False);
+ OSL_ENSURE(m_sDefaultFunction.getLength() == 0,"Why is the m_sDefaultFunction set?");
+ OSL_ENSURE(m_sScope.getLength() == 0,"Why is the m_sScope set?");
+ break;
+ case FUNCTION:
+ _rxInspectorUI->rebuildPropertyUI(PROPERTY_DATAFIELD);
+ _rxInspectorUI->rebuildPropertyUI(PROPERTY_FORMULALIST);
+ _rxInspectorUI->enablePropertyUI(PROPERTY_DATAFIELD,sal_True);
+ _rxInspectorUI->enablePropertyUI(PROPERTY_FORMULALIST,m_sDefaultFunction.getLength() != 0);
+ _rxInspectorUI->enablePropertyUI(PROPERTY_SCOPE,m_sScope.getLength() != 0);
+ break;
+ case USER_DEF_FUNCTION:
+ _rxInspectorUI->enablePropertyUI(PROPERTY_DATAFIELD,sal_False);
+ _rxInspectorUI->enablePropertyUI(PROPERTY_FORMULALIST,sal_True);
+ _rxInspectorUI->rebuildPropertyUI(PROPERTY_FORMULALIST);
+ _rxInspectorUI->enablePropertyUI(PROPERTY_SCOPE,sal_False);
+ break;
+ case COUNTER:
+ _rxInspectorUI->enablePropertyUI(PROPERTY_DATAFIELD,sal_False);
+ _rxInspectorUI->enablePropertyUI(PROPERTY_FORMULALIST,sal_False);
+ _rxInspectorUI->enablePropertyUI(PROPERTY_SCOPE,sal_True);
+ break;
+ }
+ }
+ break;
+ case PROPERTY_ID_DATAFIELD:
+ {
+ sal_Bool bEnable = (m_nDataFieldType != DATA_OR_FORMULA && m_nDataFieldType != COUNTER );
+ if ( bEnable )
+ {
+ ::rtl::OUString sValue;
+ m_xReportComponent->getPropertyValue( PROPERTY_DATAFIELD ) >>= sValue;
+ bEnable = sValue.getLength() != 0;
+ }
+ _rxInspectorUI->enablePropertyUI(PROPERTY_FORMULALIST,bEnable);
+ if ( bEnable )
+ {
_rxInspectorUI->rebuildPropertyUI(PROPERTY_DATAFIELD);
_rxInspectorUI->rebuildPropertyUI(PROPERTY_FORMULALIST);
- _rxInspectorUI->enablePropertyUI(PROPERTY_DATAFIELD,sal_True);
- _rxInspectorUI->enablePropertyUI(PROPERTY_FORMULALIST,m_sDefaultFunction.getLength() != 0);
- _rxInspectorUI->enablePropertyUI(PROPERTY_SCOPE,m_sScope.getLength() != 0);
- break;
- case USER_DEF_FUNCTION:
- _rxInspectorUI->enablePropertyUI(PROPERTY_DATAFIELD,sal_False);
- _rxInspectorUI->enablePropertyUI(PROPERTY_FORMULALIST,sal_True);
- _rxInspectorUI->rebuildPropertyUI(PROPERTY_FORMULALIST);
- _rxInspectorUI->enablePropertyUI(PROPERTY_SCOPE,sal_False);
- break;
- case COUNTER:
- _rxInspectorUI->enablePropertyUI(PROPERTY_DATAFIELD,sal_False);
- _rxInspectorUI->enablePropertyUI(PROPERTY_FORMULALIST,sal_False);
- _rxInspectorUI->enablePropertyUI(PROPERTY_SCOPE,sal_True);
- break;
+ }
}
- }
- break;
- case PROPERTY_ID_DATAFIELD:
- {
- sal_Bool bEnable = (m_nDataFieldType != DATA_OR_FORMULA && m_nDataFieldType != COUNTER );
- if ( bEnable )
+ break;
+ case PROPERTY_ID_FORMULALIST:
{
- ::rtl::OUString sValue;
- m_xReportComponent->getPropertyValue( PROPERTY_DATAFIELD ) >>= sValue;
- bEnable = sValue.getLength() != 0;
+ _rxInspectorUI->enablePropertyUI(PROPERTY_SCOPE,m_nDataFieldType == FUNCTION || m_nDataFieldType == COUNTER);
}
- _rxInspectorUI->enablePropertyUI(PROPERTY_FORMULALIST,bEnable);
- if ( bEnable )
+ break;
+ case PROPERTY_ID_BACKTRANSPARENT:
+ case PROPERTY_ID_CONTROLBACKGROUNDTRANSPARENT:
{
- _rxInspectorUI->rebuildPropertyUI(PROPERTY_DATAFIELD);
- _rxInspectorUI->rebuildPropertyUI(PROPERTY_FORMULALIST);
+ sal_Bool bValue = sal_False;
+ NewValue >>= bValue;
+ bValue = !bValue;
+ _rxInspectorUI->enablePropertyUI(PROPERTY_BACKCOLOR,bValue);
+ _rxInspectorUI->enablePropertyUI(PROPERTY_CONTROLBACKGROUND,bValue);
}
- }
- break;
- case PROPERTY_ID_FORMULALIST:
- {
- _rxInspectorUI->enablePropertyUI(PROPERTY_SCOPE,m_nDataFieldType == FUNCTION || m_nDataFieldType == COUNTER);
- }
- break;
- case PROPERTY_ID_BACKTRANSPARENT:
- case PROPERTY_ID_CONTROLBACKGROUNDTRANSPARENT:
- {
- sal_Bool bValue = sal_False;
- NewValue >>= bValue;
- bValue = !bValue;
- _rxInspectorUI->enablePropertyUI(PROPERTY_BACKCOLOR,bValue);
- _rxInspectorUI->enablePropertyUI(PROPERTY_CONTROLBACKGROUND,bValue);
- }
- break;
- default:
- m_xFormComponentHandler->actuatingPropertyChanged(ActuatingPropertyName, NewValue, OldValue, _rxInspectorUI, _bFirstTimeInit);
- break;
+ break;
+ default:
+ m_xFormComponentHandler->actuatingPropertyChanged(ActuatingPropertyName, NewValue, OldValue, _rxInspectorUI, _bFirstTimeInit);
+ break;
+ } // switch(nId)
}
}
diff --git a/reportdesign/source/ui/inspection/inspection.src b/reportdesign/source/ui/inspection/inspection.src
index 8bff7188ce72..4aadda5c3536 100644
--- a/reportdesign/source/ui/inspection/inspection.src
+++ b/reportdesign/source/ui/inspection/inspection.src
@@ -59,6 +59,11 @@ String RID_STR_FORCENEWPAGE_CONST
{
Text [ en-US ] = "None;Before Section;After Section;Before & After Section" ;
};
+String RID_STR_NONE
+{
+ Text [ en-US ] = "None";
+};
+
String RID_STR_NEWROWORCOL
{
Text [ en-US ] = "New Row Or Column" ;
diff --git a/reportdesign/source/ui/inspection/metadata.cxx b/reportdesign/source/ui/inspection/metadata.cxx
index 8653812ed212..587c81be49b4 100644
--- a/reportdesign/source/ui/inspection/metadata.cxx
+++ b/reportdesign/source/ui/inspection/metadata.cxx
@@ -296,6 +296,7 @@ namespace rptui
PROPERTY_EFFECTIVEMIN,
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HideInactiveSelection")),
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SubmitAction")),
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("InputRequired")),
PROPERTY_EMPTY_IS_NULL,
PROPERTY_FILTERPROPOSAL
,PROPERTY_POSITIONX
diff --git a/reportdesign/source/ui/misc/UITools.cxx b/reportdesign/source/ui/misc/UITools.cxx
index 57d442ff0763..9cd7a2afd6f9 100644
--- a/reportdesign/source/ui/misc/UITools.cxx
+++ b/reportdesign/source/ui/misc/UITools.cxx
@@ -1082,13 +1082,11 @@ void correctOverlapping(SdrObject* _pControl,OReportSection& _aReportSection,boo
rSectionView.InsertObjectAtView(_pControl,*rSectionView.GetSdrPageView(),SDRINSERT_ADDMARK);
}
// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-void setZoomFactor(const sal_Int16 _nZoom,Window& _rWindow)
+void setZoomFactor(const Fraction& _aZoom,Window& _rWindow)
{
- Fraction aZoom(_nZoom,100);
MapMode aMapMode( _rWindow.GetMapMode() );
- aMapMode.SetScaleX(aZoom);
- aMapMode.SetScaleY(aZoom);
+ aMapMode.SetScaleX(_aZoom);
+ aMapMode.SetScaleY(_aZoom);
_rWindow.SetMapMode(aMapMode);
}
// -----------------------------------------------------------------------------
diff --git a/reportdesign/source/ui/misc/statusbarcontroller.cxx b/reportdesign/source/ui/misc/statusbarcontroller.cxx
index 17155e10adb5..b69fa43224d4 100644
--- a/reportdesign/source/ui/misc/statusbarcontroller.cxx
+++ b/reportdesign/source/ui/misc/statusbarcontroller.cxx
@@ -137,24 +137,27 @@ void SAL_CALL OStatusbarController::statusChanged( const FeatureStateEvent& _aEv
::vos::OGuard aSolarGuard( Application::GetSolarMutex() );
::osl::MutexGuard aGuard(m_aMutex);
- if ( m_aCommandURL.equalsAscii(".uno:ZoomSlider") )
+ if ( m_pController.is() )
{
- Sequence< PropertyValue > aSeq;
- if ( (_aEvent.State >>= aSeq) && aSeq.getLength() == 2 )
+ if ( m_aCommandURL.equalsAscii(".uno:ZoomSlider") )
{
- SvxZoomSliderItem aZoomSlider(100);
- aZoomSlider.PutValue(_aEvent.State);
- static_cast<SvxZoomSliderControl*>(m_pController.get())->StateChanged(m_nSlotId,SFX_ITEM_AVAILABLE,&aZoomSlider);
- }
- } // if ( m_aCommandURL.equalsAscii(".uno:ZoomSlider") )
- else if ( m_aCommandURL.equalsAscii(".uno:Zoom") )
- {
- Sequence< PropertyValue > aSeq;
- if ( (_aEvent.State >>= aSeq) && aSeq.getLength() == 3 )
+ Sequence< PropertyValue > aSeq;
+ if ( (_aEvent.State >>= aSeq) && aSeq.getLength() == 2 )
+ {
+ SvxZoomSliderItem aZoomSlider(100,20,400);
+ aZoomSlider.PutValue(_aEvent.State);
+ static_cast<SvxZoomSliderControl*>(m_pController.get())->StateChanged(m_nSlotId,SFX_ITEM_AVAILABLE,&aZoomSlider);
+ }
+ } // if ( m_aCommandURL.equalsAscii(".uno:ZoomSlider") )
+ else if ( m_aCommandURL.equalsAscii(".uno:Zoom") )
{
- SvxZoomItem aZoom;
- aZoom.PutValue(_aEvent.State);
- static_cast<SvxZoomStatusBarControl*>(m_pController.get())->StateChanged(m_nSlotId,SFX_ITEM_AVAILABLE,&aZoom);
+ Sequence< PropertyValue > aSeq;
+ if ( (_aEvent.State >>= aSeq) && aSeq.getLength() == 3 )
+ {
+ SvxZoomItem aZoom;
+ aZoom.PutValue(_aEvent.State);
+ static_cast<SvxZoomStatusBarControl*>(m_pController.get())->StateChanged(m_nSlotId,SFX_ITEM_AVAILABLE,&aZoom);
+ }
}
}
}
@@ -162,17 +165,17 @@ void SAL_CALL OStatusbarController::statusChanged( const FeatureStateEvent& _aEv
// XStatusbarController
::sal_Bool SAL_CALL OStatusbarController::mouseButtonDown(const ::com::sun::star::awt::MouseEvent& _aEvent)throw (::com::sun::star::uno::RuntimeException)
{
- return m_pController.getRef()->mouseButtonDown(_aEvent);
+ return m_pController.is() && m_pController.getRef()->mouseButtonDown(_aEvent);
}
::sal_Bool SAL_CALL OStatusbarController::mouseMove( const ::com::sun::star::awt::MouseEvent& _aEvent)throw (::com::sun::star::uno::RuntimeException)
{
- return m_pController.getRef()->mouseMove(_aEvent);
+ return m_pController.is() && m_pController.getRef()->mouseMove(_aEvent);
}
::sal_Bool SAL_CALL OStatusbarController::mouseButtonUp( const ::com::sun::star::awt::MouseEvent& _aEvent)throw (::com::sun::star::uno::RuntimeException)
{
- return m_pController.getRef()->mouseButtonUp(_aEvent);
+ return m_pController.is() && m_pController.getRef()->mouseButtonUp(_aEvent);
}
void SAL_CALL OStatusbarController::command(
@@ -182,7 +185,8 @@ void SAL_CALL OStatusbarController::command(
const ::com::sun::star::uno::Any& aData )
throw (::com::sun::star::uno::RuntimeException)
{
- m_pController.getRef()->command( aPos, nCommand, bMouseEvent, aData );
+ if ( m_pController.is() )
+ m_pController.getRef()->command( aPos, nCommand, bMouseEvent, aData );
}
void SAL_CALL OStatusbarController::paint(
@@ -192,17 +196,20 @@ void SAL_CALL OStatusbarController::paint(
::sal_Int32 nStyle )
throw (::com::sun::star::uno::RuntimeException)
{
- return m_pController.getRef()->paint( xGraphics, rOutputRectangle, nItemId, nStyle );
+ if ( m_pController.is() )
+ m_pController.getRef()->paint( xGraphics, rOutputRectangle, nItemId, nStyle );
}
void SAL_CALL OStatusbarController::click() throw (::com::sun::star::uno::RuntimeException)
{
- m_pController.getRef()->click();
+ if ( m_pController.is() )
+ m_pController.getRef()->click();
}
void SAL_CALL OStatusbarController::doubleClick() throw (::com::sun::star::uno::RuntimeException)
{
- m_pController.getRef()->doubleClick();
+ if ( m_pController.is() )
+ m_pController.getRef()->doubleClick();
}
// -----------------------------------------------------------------------------
void SAL_CALL OStatusbarController::update() throw ( RuntimeException )
@@ -213,7 +220,12 @@ void SAL_CALL OStatusbarController::update() throw ( RuntimeException )
xUp->update();
}
// -----------------------------------------------------------------------------
-
+// XComponent
+void SAL_CALL OStatusbarController::dispose() throw (::com::sun::star::uno::RuntimeException)
+{
+ m_pController.dispose();
+ svt::StatusbarController::dispose();
+}
// =============================================================================
} // rptui
// =============================================================================
diff --git a/reportdesign/source/ui/report/DesignView.cxx b/reportdesign/source/ui/report/DesignView.cxx
index 78179fa3d6c9..b7dedea9f2e4 100644
--- a/reportdesign/source/ui/report/DesignView.cxx
+++ b/reportdesign/source/ui/report/DesignView.cxx
@@ -750,9 +750,14 @@ sal_uInt32 ODesignView::getMarkedObjectCount() const
return m_aScrollWindow.getMarkedObjectCount();
}
// -----------------------------------------------------------------------------
-void ODesignView::zoom(const sal_Int16 _nZoom)
+void ODesignView::zoom(const Fraction& _aZoom)
{
- m_aScrollWindow.zoom(_nZoom);
+ m_aScrollWindow.zoom(_aZoom);
+}
+// -----------------------------------------------------------------------------
+sal_uInt16 ODesignView::getZoomFactor(SvxZoomType _eType) const
+{
+ return m_aScrollWindow.getZoomFactor(_eType);
}
//============================================================================
} // rptui
diff --git a/reportdesign/source/ui/report/InsertFunctions.cxx b/reportdesign/source/ui/report/InsertFunctions.cxx
deleted file mode 100644
index e2156f7de0ed..000000000000
--- a/reportdesign/source/ui/report/InsertFunctions.cxx
+++ /dev/null
@@ -1,88 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * $RCSfile: InsertFunctions.cxx,v $
- * $Revision: 1.4 $
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_reportdesign.hxx"
-#include <com/sun/star/embed/NoVisualAreaSizeException.hpp>
-#include <com/sun/star/embed/Aspects.hpp>
-#include <com/sun/star/beans/XPropertySet.hpp>
-#include <com/sun/star/embed/XEmbedPersist.hpp>
-//------------------------------------------------------------------------
-
-#include <toolkit/helper/vclunohelper.hxx>
-#include <sot/exchange.hxx>
-#include <svtools/globalnameitem.hxx>
-#include <sfx2/viewfrm.hxx>
-#include <sfx2/docfile.hxx>
-#include <svtools/stritem.hxx>
-#include <svx/svdoole2.hxx>
-#include <svx/svdview.hxx>
-#include <svx/pfiledlg.hxx>
-#include <tools/urlobj.hxx>
-#include <vcl/msgbox.hxx>
-#include <svtools/urihelper.hxx>
-#include <svtools/moduleoptions.hxx>
-#include <svtools/insdlg.hxx>
-#include <svtools/soerr.hxx>
-#include <svx/svxdlg.hxx>
-#include <sot/clsids.hxx>
-#include <svx/svdpagv.hxx>
-#include <svx/svdpage.hxx>
-#include <svx/svdundo.hxx>
-#include <svx/svdmodel.hxx>
-
-#include <cppuhelper/component_context.hxx>
-#include <comphelper/processfactory.hxx>
-#include <comphelper/storagehelper.hxx>
-#include <comphelper/property.hxx>
-#include <comphelper/types.hxx>
-#include <comphelper/embeddedobjectcontainer.hxx>
-#include <com/sun/star/beans/XPropertySet.hpp>
-#include <com/sun/star/frame/XSynchronousFrameLoader.hpp>
-#include <com/sun/star/frame/XComponentLoader.hpp>
-#include <com/sun/star/beans/PropertyValue.hpp>
-#include <com/sun/star/chart2/data/DatabaseDataProvider.hpp>
-#include <com/sun/star/lang/XInitialization.hpp>
-#include <com/sun/star/frame/XModel.hpp>
-#include <com/sun/star/chart/ChartDataRowSource.hpp>
-#include <com/sun/star/chart2/data/XDataReceiver.hpp>
-
-using namespace ::com::sun::star;
-
-#include "InsertFunctions.hxx"
-#include "RptObject.hxx"
-
-namespace rptui
-{
-//------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-} // namespace rptui
-// -----------------------------------------------------------------------------
-
diff --git a/reportdesign/source/ui/report/ReportController.cxx b/reportdesign/source/ui/report/ReportController.cxx
index 55eab50acc81..2bb3d3d5dbc8 100644
--- a/reportdesign/source/ui/report/ReportController.cxx
+++ b/reportdesign/source/ui/report/ReportController.cxx
@@ -115,6 +115,9 @@
#include <svx/brshitem.hxx>
#include <svx/flagsdef.hxx> //CHINA001
#include <svx/svdpagv.hxx>
+#include <svx/svxdlg.hxx>
+#include <svx/zoom_def.hxx>
+#include <svx/dialogs.hrc>
#include "DesignView.hxx"
#include "ModuleHelper.hxx"
@@ -280,7 +283,7 @@ DBG_NAME( rpt_OReportController )
OReportController::OReportController(Reference< XComponentContext > const & xContext)
: OReportController_BASE(Reference< XMultiServiceFactory >(xContext->getServiceManager(),UNO_QUERY))
,OPropertyStateContainer(OGenericUnoController_Base::rBHelper)
-,m_aSelectionListeners( m_aMutex )
+,m_aSelectionListeners( getMutex() )
,m_pMyOwnView(NULL)
,m_pClipbordNotifier(NULL)
,m_pGroupsFloater(NULL)
@@ -288,6 +291,7 @@ OReportController::OReportController(Reference< XComponentContext > const & xCon
,m_nSplitPos(-1)
,m_nPageNum(-1)
,m_nZoomValue(100)
+,m_eZoomType(SVX_ZOOM_PERCENT)
,m_bShowRuler(sal_True)
,m_bGridVisible(sal_True)
,m_bGridUse(sal_True)
@@ -299,7 +303,7 @@ OReportController::OReportController(Reference< XComponentContext > const & xCon
{
m_sMode = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("normal"));
DBG_CTOR( rpt_OReportController,NULL);
- registerProperty(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ZoomValue")),PROPERTY_ID_ZOOMVALUE,beans::PropertyAttribute::BOUND| beans::PropertyAttribute::TRANSIENT, &m_nZoomValue, ::getCppuType(reinterpret_cast< sal_Int16*>(NULL)));
+ registerProperty(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ZoomValue")),PROPERTY_ID_ZOOMVALUE,beans::PropertyAttribute::BOUND| beans::PropertyAttribute::TRANSIENT,&m_nZoomValue,::getCppuType(reinterpret_cast< sal_Int16*>(NULL)));
}
// -----------------------------------------------------------------------------
OReportController::~OReportController()
@@ -894,8 +898,8 @@ FeatureState OReportController::GetState(sal_uInt16 _nId) const
case SID_ATTR_ZOOM:
aReturn.bEnabled = sal_True;
{
- SvxZoomItem aZoom(SVX_ZOOM_PERCENT,m_nZoomValue);
- aZoom.SetValueSet(SVX_ZOOM_ENABLE_50|SVX_ZOOM_ENABLE_75|SVX_ZOOM_ENABLE_100|SVX_ZOOM_ENABLE_150|SVX_ZOOM_ENABLE_200);
+ SvxZoomItem aZoom(m_eZoomType,m_nZoomValue);
+ aZoom.SetValueSet(SVX_ZOOM_ENABLE_50|SVX_ZOOM_ENABLE_75|SVX_ZOOM_ENABLE_100|SVX_ZOOM_ENABLE_200);
aZoom.QueryValue(aReturn.aValue);
//aReturn.sTitle = ::rtl::OUString::valueOf((sal_Int32)m_nZoomValue);
}
@@ -903,11 +907,10 @@ FeatureState OReportController::GetState(sal_uInt16 _nId) const
case SID_ATTR_ZOOMSLIDER:
aReturn.bEnabled = sal_True;
{
- SvxZoomSliderItem aZoomSlider(m_nZoomValue);
+ SvxZoomSliderItem aZoomSlider(m_nZoomValue,20,400);
aZoomSlider.AddSnappingPoint(50);
aZoomSlider.AddSnappingPoint(75);
aZoomSlider.AddSnappingPoint(100);
- aZoomSlider.AddSnappingPoint(150);
aZoomSlider.AddSnappingPoint(200);
aZoomSlider.QueryValue(aReturn.aValue);
//aReturn.sTitle = ::rtl::OUString::valueOf((sal_Int32)m_nZoomValue);
@@ -947,7 +950,7 @@ namespace
void OReportController::Execute(sal_uInt16 _nId, const Sequence< PropertyValue >& aArgs)
{
::vos::OGuard aSolarGuard( Application::GetSolarMutex() );
- ::osl::MutexGuard aGuard(m_aMutex);
+ ::osl::MutexGuard aGuard( getMutex() );
if ( !getView() )
{
switch(_nId)
@@ -1594,11 +1597,16 @@ void OReportController::Execute(sal_uInt16 _nId, const Sequence< PropertyValue >
case SID_GROUP:
break;
case SID_ATTR_ZOOM:
- if ( aArgs.getLength() == 1 && aArgs[0].Name.equalsAscii("Zoom") )
+ if ( aArgs.getLength() == 0 )
+ {
+ openZoomDialog();
+ }
+ else if ( aArgs.getLength() == 1 && aArgs[0].Name.equalsAscii("Zoom") )
{
SvxZoomItem aZoomItem;
aZoomItem.PutValue(aArgs[0].Value);
m_nZoomValue = aZoomItem.GetValue();
+ m_eZoomType = aZoomItem.GetType();
impl_zoom_nothrow();
} // if ( aArgs.getLength() == 1 && aArgs[0].Name.equalsAscii("Zoom") )
break;
@@ -1608,6 +1616,7 @@ void OReportController::Execute(sal_uInt16 _nId, const Sequence< PropertyValue >
SvxZoomSliderItem aZoomSlider;
aZoomSlider.PutValue(aArgs[0].Value);
m_nZoomValue = aZoomSlider.GetValue();
+ m_eZoomType = SVX_ZOOM_PERCENT;
impl_zoom_nothrow();
}
break;
@@ -1749,7 +1758,7 @@ sal_Bool SAL_CALL OReportController::suspend(sal_Bool /*_bSuspend*/) throw( Runt
return sal_True;
vos::OGuard aSolarGuard( Application::GetSolarMutex() );
- ::osl::MutexGuard aGuard(m_aMutex);
+ ::osl::MutexGuard aGuard( getMutex() );
if ( getView() && getView()->IsInModalMode() )
return sal_False;
@@ -2023,7 +2032,7 @@ SfxUndoManager* OReportController::getUndoMgr()
// -----------------------------------------------------------------------------
void OReportController::setModified(sal_Bool _bModified)
{
- ::osl::MutexGuard aGuard(m_aMutex);
+ ::osl::MutexGuard aGuard( getMutex() );
try
{
if ( m_xReportDefinition.is() )
@@ -2069,7 +2078,7 @@ void OReportController::notifyGroupSections(const ContainerEvent& _rEvent,bool _
if ( xGroup.is() )
{
::vos::OGuard aSolarGuard(Application::GetSolarMutex());
- ::osl::MutexGuard aGuard(m_aMutex);
+ ::osl::MutexGuard aGuard( getMutex() );
sal_Int32 nGroupPos = 0;
_rEvent.Accessor >>= nGroupPos;
@@ -2109,14 +2118,14 @@ void SAL_CALL OReportController::elementRemoved( const ContainerEvent& _rEvent )
void SAL_CALL OReportController::elementReplaced( const ContainerEvent& /*_rEvent*/ ) throw(RuntimeException)
{
::vos::OGuard aSolarGuard(Application::GetSolarMutex());
- ::osl::MutexGuard aGuard(m_aMutex);
+ ::osl::MutexGuard aGuard( getMutex() );
OSL_ENSURE(0,"Not yet implemented!");
}
// -----------------------------------------------------------------------------
void SAL_CALL OReportController::propertyChange( const beans::PropertyChangeEvent& evt ) throw (RuntimeException)
{
::vos::OGuard aSolarGuard( Application::GetSolarMutex() );
- ::osl::MutexGuard aGuard(m_aMutex);
+ ::osl::MutexGuard aGuard( getMutex() );
try
{
sal_Bool bShow = sal_False;
@@ -2374,6 +2383,7 @@ void OReportController::openPageDialog(const uno::Reference<report::XSection>& _
uno::Any aValue;
static_cast<const SvxSizeItem*>(pItem)->QueryValue(aValue,MID_SIZE_SIZE);
xProp->setPropertyValue(PROPERTY_PAPERSIZE,aValue);
+ resetZoomType();
}
if ( SFX_ITEM_SET == pSet->GetItemState( RPTUI_ID_LRSPACE,sal_True,&pItem))
@@ -2394,6 +2404,7 @@ void OReportController::openPageDialog(const uno::Reference<report::XSection>& _
uno::Any aValue;
pPageItem->QueryValue(aValue,MID_PAGE_LAYOUT);
xProp->setPropertyValue(PROPERTY_PAGESTYLELAYOUT,aValue);
+ resetZoomType();
}
if ( SFX_ITEM_SET == pSet->GetItemState( RPTUI_ID_BRUSH,sal_True,&pItem))
{
@@ -2417,7 +2428,7 @@ void OReportController::openPageDialog(const uno::Reference<report::XSection>& _
// -----------------------------------------------------------------------------
sal_Bool SAL_CALL OReportController::attachModel(const uno::Reference< frame::XModel > & xModel) throw( uno::RuntimeException )
{
- ::osl::MutexGuard aGuard(m_aMutex);
+ ::osl::MutexGuard aGuard( getMutex() );
m_xReportDefinition.set(xModel,uno::UNO_QUERY);
return m_xReportDefinition.is();
}
@@ -2486,7 +2497,7 @@ void OReportController::alignControlsWithUndo(USHORT _nUndoStrId,sal_Int32 _nCon
// -----------------------------------------------------------------------------
uno::Any SAL_CALL OReportController::getViewData(void) throw( uno::RuntimeException )
{
- ::osl::MutexGuard aGuard(m_aMutex);
+ ::osl::MutexGuard aGuard( getMutex() );
typedef ::std::pair< ::rtl::OUString,sal_uInt16> TStringIntPair;
const TStringIntPair pViewDataList[] =
{
@@ -2556,7 +2567,7 @@ uno::Any SAL_CALL OReportController::getViewData(void) throw( uno::RuntimeExcept
// -----------------------------------------------------------------------------
void SAL_CALL OReportController::restoreViewData(const uno::Any& Data) throw( uno::RuntimeException )
{
- ::osl::MutexGuard aGuard(m_aMutex);
+ ::osl::MutexGuard aGuard( getMutex() );
uno::Sequence<beans::PropertyValue> aProps;
if ( Data >>= aProps )
{
@@ -2817,7 +2828,7 @@ void OReportController::insertGraphic()
// -----------------------------------------------------------------------------
::sal_Bool SAL_CALL OReportController::select( const Any& aSelection ) throw (IllegalArgumentException, RuntimeException)
{
- ::osl::MutexGuard aGuard(m_aMutex);
+ ::osl::MutexGuard aGuard( getMutex() );
::sal_Bool bRet = sal_True;
if ( m_pMyOwnView )
{
@@ -2857,7 +2868,7 @@ void OReportController::insertGraphic()
// -----------------------------------------------------------------------------
Any SAL_CALL OReportController::getSelection( ) throw (RuntimeException)
{
- ::osl::MutexGuard aGuard(m_aMutex);
+ ::osl::MutexGuard aGuard( getMutex() );
Any aRet;
if ( m_pMyOwnView )
{
@@ -2934,8 +2945,9 @@ void OReportController::createControl(const Sequence< PropertyValue >& _aArgs,co
}
else
{
- SdrUnoObj* pLabel,*pControl;
- FmFormView::createControlLabelPair(NULL,m_pMyOwnView
+ SdrUnoObj* pLabel( NULL );
+ SdrUnoObj* pControl( NULL );
+ FmFormView::createControlLabelPair(m_pMyOwnView
,nLeftMargin,0
,NULL,NULL,_nObjectId,::rtl::OUString(),ReportInventor,OBJ_DLG_FIXEDTEXT,
NULL,pSectionWindow->getReportSection().getPage(),m_aReportModel.get(),
@@ -3222,7 +3234,7 @@ void OReportController::addPairControls(const Sequence< PropertyValue >& aArgs)
pSectionViews[0] = &pSectionWindow[1]->getReportSection().getSectionView();
pSectionViews[1] = &pSectionWindow[0]->getReportSection().getSectionView();
// find this in svx
- FmFormView::createControlLabelPair(pSectionViews[0],m_pMyOwnView
+ FmFormView::createControlLabelPair(m_pMyOwnView
,nLeftMargin,0
,xField,xNumberFormats,nOBJID,::rtl::OUString(),ReportInventor,OBJ_DLG_FIXEDTEXT,
pSectionWindow[1]->getReportSection().getPage(),pSectionWindow[0]->getReportSection().getPage(),m_aReportModel.get(),
@@ -3737,7 +3749,7 @@ void OReportController::checkChartEnabled()
throw (uno::RuntimeException)
{
vos::OGuard aSolarGuard( Application::GetSolarMutex() );
- ::osl::MutexGuard aGuard(m_aMutex);
+ ::osl::MutexGuard aGuard( getMutex() );
uno::Reference< frame::XTitle> xTitle(m_xReportDefinition,uno::UNO_QUERY_THROW);
@@ -3775,12 +3787,12 @@ void SAL_CALL OReportController::setFastPropertyValue_NoBroadcast(sal_Int32 _nHa
}
void SAL_CALL OReportController::setMode( const ::rtl::OUString& aMode ) throw (::com::sun::star::lang::NoSupportException, ::com::sun::star::uno::RuntimeException)
{
- ::osl::MutexGuard aGuard(m_aMutex);
+ ::osl::MutexGuard aGuard( getMutex() );
m_sMode = aMode;
}
::rtl::OUString SAL_CALL OReportController::getMode( ) throw (::com::sun::star::uno::RuntimeException)
{
- ::osl::MutexGuard aGuard(m_aMutex);
+ ::osl::MutexGuard aGuard( getMutex() );
return m_sMode;
}
::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL OReportController::getSupportedModes( ) throw (::com::sun::star::uno::RuntimeException)
@@ -3846,15 +3858,12 @@ void OReportController::impl_fillState_nothrow(const ::rtl::OUString& _sProperty
void OReportController::impl_zoom_nothrow()
{
Fraction aZoom(m_nZoomValue,100);
- MapMode aMapMode = m_pMyOwnView->GetMapMode();
- aMapMode.SetScaleX(aZoom);
- aMapMode.SetScaleY(aZoom);
- m_pMyOwnView->SetMapMode(aMapMode);
- m_pMyOwnView->zoom(m_nZoomValue);
+ setZoomFactor(aZoom,*m_pMyOwnView);
+ m_pMyOwnView->zoom(aZoom);
// TRY
/*m_pMyOwnView->Invalidate(INVALIDATE_NOCHILDREN);*/
- InvalidateFeature(SID_ATTR_ZOOM);
- InvalidateFeature(SID_ATTR_ZOOMSLIDER);
+ InvalidateFeature(SID_ATTR_ZOOM,Reference< XStatusListener >(),sal_True);
+ InvalidateFeature(SID_ATTR_ZOOMSLIDER,Reference< XStatusListener >(),sal_True);
}
// -----------------------------------------------------------------------------
sal_Bool OReportController::isFormatCommandEnabled(sal_uInt16 _nCommand,const uno::Reference< report::XReportControlFormat>& _xReportControlFormat) const
@@ -3917,3 +3926,58 @@ void OReportController::impl_fillCustomShapeState_nothrow(const char* _pCustomSh
_rState.bChecked = m_pMyOwnView->GetInsertObj() == OBJ_CUSTOMSHAPE && sShapeType.compareToAscii(_pCustomShapeType) == 0;
}
// -----------------------------------------------------------------------------
+void OReportController::openZoomDialog()
+{
+ SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
+ if ( pFact )
+ {
+ static SfxItemInfo aItemInfos[] =
+ {
+ { SID_ATTR_ZOOM, SFX_ITEM_POOLABLE }
+ };
+ SfxPoolItem* pDefaults[] =
+ {
+ new SvxZoomItem()
+ };
+ static USHORT pRanges[] =
+ {
+ SID_ATTR_ZOOM,SID_ATTR_ZOOM,
+ 0
+ };
+ try
+ {
+ ::std::auto_ptr<SfxItemPool> pPool( new SfxItemPool(String::CreateFromAscii("ZoomProperties"), SID_ATTR_ZOOM,SID_ATTR_ZOOM, aItemInfos, pDefaults) );
+ pPool->SetDefaultMetric( SFX_MAPUNIT_100TH_MM ); // ripped, don't understand why
+ pPool->FreezeIdRanges(); // the same
+
+ ::std::auto_ptr<SfxItemSet> pDescriptor(new SfxItemSet(*pPool, pRanges));
+ // fill it
+ SvxZoomItem aZoomItem( m_eZoomType, m_nZoomValue, SID_ATTR_ZOOM );
+ aZoomItem.SetValueSet(SVX_ZOOM_ENABLE_100|SVX_ZOOM_ENABLE_WHOLEPAGE|SVX_ZOOM_ENABLE_PAGEWIDTH);
+ pDescriptor->Put(aZoomItem);
+
+ ::std::auto_ptr<AbstractSvxZoomDialog> pDlg( pFact->CreateSvxZoomDialog(NULL, *pDescriptor.get(), RID_SVXDLG_ZOOM) );
+ pDlg->SetLimits( 20, 400 );
+ bool bCancel = ( RET_CANCEL == pDlg->Execute() );
+
+ if ( !bCancel )
+ {
+ const SvxZoomItem& rZoomItem = (const SvxZoomItem&)pDlg->GetOutputItemSet()->Get( SID_ATTR_ZOOM );
+ m_eZoomType = rZoomItem.GetType();
+ m_nZoomValue = rZoomItem.GetValue();
+ if ( m_eZoomType != SVX_ZOOM_PERCENT )
+ m_nZoomValue = m_pMyOwnView->getZoomFactor( m_eZoomType );
+
+ impl_zoom_nothrow();
+ } // if ( !bCancel )
+ }
+ catch(uno::Exception&)
+ {
+ DBG_UNHANDLED_EXCEPTION();
+ }
+
+ for (sal_uInt16 i=0; i<sizeof(pDefaults)/sizeof(pDefaults[0]); ++i)
+ delete pDefaults[i];
+ } // if(pFact)
+}
+// -----------------------------------------------------------------------------
diff --git a/reportdesign/source/ui/report/ReportSection.cxx b/reportdesign/source/ui/report/ReportSection.cxx
index 8fef01ffd020..cf462c8b1456 100644
--- a/reportdesign/source/ui/report/ReportSection.cxx
+++ b/reportdesign/source/ui/report/ReportSection.cxx
@@ -63,6 +63,9 @@
#include <connectivity/dbtools.hxx>
+#include <vcl/lineinfo.hxx>
+#include "ColorChanger.hxx"
+
#include <svtools/itempool.hxx>
#include <svtools/extcolorcfg.hxx>
#include <unotools/confignode.hxx>
@@ -101,7 +104,6 @@ OReportSection::OReportSection(OSectionWindow* _pParent,const uno::Reference< re
EnableChildTransparentMode();
SetHelpId(HID_REPORTSECTION);
SetMapMode( MapMode( MAP_100TH_MM ) );
- EnableMapMode();
try
{
@@ -114,7 +116,6 @@ OReportSection::OReportSection(OSectionWindow* _pParent,const uno::Reference< re
m_pFunc.reset(new DlgEdFuncSelect( this ));
m_pFunc->setOverlappedControlColor(lcl_getOverlappedControlColor( /* m_pParent->getViewsWindow()->getView()->getReportView()->getController().getORB() */ ) );
- Show();
}
//------------------------------------------------------------------------------
OReportSection::~OReportSection()
@@ -140,6 +141,8 @@ OReportSection::~OReportSection()
//------------------------------------------------------------------------------
void OReportSection::Paint( const Rectangle& rRect )
{
+ Window::Paint(rRect);
+
if ( m_pView )
{
// repaint, get PageView and prepare Region
@@ -169,9 +172,7 @@ void OReportSection::Paint( const Rectangle& rRect )
pPgView->GetView().EndDrawLayers(*pTargetPaintWindow);
}
-
- const Region aReg(rRect);
- m_pView->CompleteRedraw(this,aReg);
+ m_pView->CompleteRedraw(this,aPaintRectRegion);
}
}
//------------------------------------------------------------------------------
@@ -246,7 +247,18 @@ void OReportSection::fill()
m_pView->SetDesignMode( TRUE );
m_pView->StartListening( *m_pModel );
- Resize();
+ /*Resize();*/
+ if ( m_xSection.is() && m_pPage && m_pView )
+ {
+ uno::Reference<report::XReportDefinition> xReportDefinition = m_xSection->getReportDefinition();
+ m_pPage->SetSize( Size( getStyleProperty<awt::Size>(xReportDefinition,PROPERTY_PAPERSIZE).Width,5*m_xSection->getHeight()) );
+ const Size aPageSize = m_pPage->GetSize();
+ const sal_Int32 nWorkAreaLeftMargin = getStyleProperty<sal_Int32>(xReportDefinition,PROPERTY_LEFTMARGIN);
+ const sal_Int32 nWorkAreaRightMargin = getStyleProperty<sal_Int32>(xReportDefinition,PROPERTY_RIGHTMARGIN);
+ m_pView->SetWorkArea( Rectangle( Point( nWorkAreaLeftMargin, 0), Size(aPageSize.Width() - nWorkAreaLeftMargin - nWorkAreaRightMargin,aPageSize.Height()) ) );
+ } // if ( m_xSection.is() && m_pPage && m_pView )
+
+ //SetBackground( Wallpaper( COL_BLUE ));
}
// -----------------------------------------------------------------------------
void OReportSection::Paste(const uno::Sequence< beans::NamedValue >& _aAllreadyCopiedObjects,bool _bForce)
diff --git a/reportdesign/source/ui/report/ReportWindow.cxx b/reportdesign/source/ui/report/ReportWindow.cxx
index 3a71951ea152..3d04b2898669 100644
--- a/reportdesign/source/ui/report/ReportWindow.cxx
+++ b/reportdesign/source/ui/report/ReportWindow.cxx
@@ -134,7 +134,6 @@ void OReportWindow::addSection(const uno::Reference< report::XSection >& _xSecti
m_aViewsWindow.addSection(_xSection,_sColorEntry,_nPosition);
- Resize();
m_pParent->setTotalSize(GetTotalWidth(),GetTotalHeight());
}
//------------------------------------------------------------------------------
@@ -152,11 +151,11 @@ void OReportWindow::showRuler(sal_Bool _bShow)
//------------------------------------------------------------------------------
sal_Int32 OReportWindow::getMaxMarkerWidth(sal_Bool _bWithEnd) const
{
- Fraction aStartWith(long(REPORT_STARTMARKER_WIDTH));
- aStartWith *= m_aViewsWindow.GetMapMode().GetScaleX();
+ Fraction aStartWidth(long(REPORT_STARTMARKER_WIDTH));
+ aStartWidth *= m_aViewsWindow.GetMapMode().GetScaleX();
if ( _bWithEnd )
- aStartWith += Fraction(long(REPORT_ENDMARKER_WIDTH));
- return sal_Int32((long)aStartWith);
+ aStartWidth += Fraction(long(REPORT_ENDMARKER_WIDTH));
+ return sal_Int32((long)aStartWidth);
}
//------------------------------------------------------------------------------
sal_Int32 OReportWindow::GetTotalWidth() const
@@ -164,11 +163,14 @@ sal_Int32 OReportWindow::GetTotalWidth() const
sal_Int32 nWidth = 0;
if ( !m_aViewsWindow.empty() )
{
- Fraction aStartWith(long(REPORT_ENDMARKER_WIDTH + REPORT_STARTMARKER_WIDTH));
- aStartWith *= m_aViewsWindow.GetMapMode().GetScaleX();
+ Fraction aStartWidth(long(REPORT_ENDMARKER_WIDTH + REPORT_STARTMARKER_WIDTH ));
+ const Fraction aZoom(m_pView->getController().getZoomValue(),100);
+ aStartWidth *= aZoom; // m_aViewsWindow.GetMapMode().GetScaleX();;
const sal_Int32 nPaperWidth = getStyleProperty<awt::Size>(m_pView->getController().getReportDefinition(),PROPERTY_PAPERSIZE).Width;
- const Size aPageSize = m_aViewsWindow.LogicToPixel(Size(nPaperWidth,0));
- nWidth = aPageSize.Width() + long(aStartWith);
+ Fraction aPaperWidth(nPaperWidth,1);
+ aPaperWidth *= aZoom;
+ const Size aPageSize = LogicToPixel(Size(aPaperWidth,0));
+ nWidth = aPageSize.Width() + long(aStartWidth);
}
return nWidth;
}
@@ -179,16 +181,15 @@ void OReportWindow::Resize()
if ( !m_aViewsWindow.empty() )
{
const Size aTotalOutputSize = GetOutputSizePixel();
- Fraction aStartWith(long(REPORT_STARTMARKER_WIDTH));
- aStartWith *= m_aViewsWindow.GetMapMode().GetScaleX();
+ Fraction aStartWidth(long(REPORT_STARTMARKER_WIDTH)*m_pView->getController().getZoomValue(),100);
- const Point aOffset = LogicToPixel( Point( SECTION_OFFSET, SECTION_OFFSET ), MAP_APPFONT );
- Point aStartPoint((long)aStartWith + aOffset.X(),0);
+ const Point aOffset = LogicToPixel( Point( SECTION_OFFSET, 0 ), MAP_APPFONT );
+ Point aStartPoint((long)aStartWidth + aOffset.X(),0);
uno::Reference<report::XReportDefinition> xReportDefinition = getReportView()->getController().getReportDefinition();
const sal_Int32 nPaperWidth = getStyleProperty<awt::Size>(xReportDefinition,PROPERTY_PAPERSIZE).Width;
sal_Int32 nLeftMargin = getStyleProperty<sal_Int32>(xReportDefinition,PROPERTY_LEFTMARGIN);
sal_Int32 nRightMargin = getStyleProperty<sal_Int32>(xReportDefinition,PROPERTY_RIGHTMARGIN);
- Size aPageSize = m_aViewsWindow.LogicToPixel(Size(nPaperWidth,0));
+ Size aPageSize = m_aViewsWindow.LogicToPixel(Size(nPaperWidth ,0));
nLeftMargin = m_aViewsWindow.LogicToPixel(Size(nLeftMargin,0)).Width();
nRightMargin = m_aViewsWindow.LogicToPixel(Size(nRightMargin,0)).Width();
@@ -211,9 +212,9 @@ void OReportWindow::Resize()
}
}
//------------------------------------------------------------------------------
-Point OReportWindow::getScrollOffset() const
+Point OReportWindow::getThumbPos() const
{
- return m_pParent->getScrollOffset();
+ return m_pParent->getThumbPos();
}
//------------------------------------------------------------------------------
void OReportWindow::ImplInitSettings()
@@ -235,22 +236,22 @@ void OReportWindow::DataChanged( const DataChangedEvent& rDCEvt )
//------------------------------------------------------------------------------
sal_Int32 OReportWindow::GetTotalHeight() const
{
- return m_aHRuler.GetSizePixel().Height() + m_aViewsWindow.getTotalHeight();
+ return m_aViewsWindow.getTotalHeight();
}
//------------------------------------------------------------------------------
-void OReportWindow::ScrollChildren(long nDeltaX, long nDeltaY)
+void OReportWindow::ScrollChildren(const Point& _aThumbPos)
{
- if ( nDeltaX )
+ MapMode aMap = m_aHRuler.GetMapMode();
+ Point aOrg( aMap.GetOrigin() );
+ if ( aOrg.X() != (-_aThumbPos.X()) )
{
- MapMode aMap = m_aHRuler.GetMapMode();
- Point aOrg( aMap.GetOrigin() );
- aMap.SetOrigin( Point(aOrg.X() - nDeltaX, aOrg.Y()));
+ aMap.SetOrigin( Point(- _aThumbPos.X(), aOrg.Y()));
m_aHRuler.SetMapMode( aMap );
- m_aHRuler.Scroll(-nDeltaX,0);
+ m_aHRuler.Scroll(-(aOrg.X() + _aThumbPos.X()),0);
}
-
- m_aViewsWindow.scrollChildren(nDeltaX,nDeltaY);
+ /*const Point aPos(PixelToLogic(_aThumbPos));*/
+ m_aViewsWindow.scrollChildren(_aThumbPos);
}
//----------------------------------------------------------------------------
USHORT OReportWindow::getSectionCount() const
@@ -258,11 +259,9 @@ USHORT OReportWindow::getSectionCount() const
return m_aViewsWindow.getSectionCount();
}
//----------------------------------------------------------------------------
-void OReportWindow::notifyHeightChanged()
+void OReportWindow::notifySizeChanged()
{
m_pParent->setTotalSize(GetTotalWidth(),GetTotalHeight());
- //Resize();
- //Invalidate(INVALIDATE_TRANSPARENT);
}
//----------------------------------------------------------------------------
BOOL OReportWindow::HasSelection()
@@ -371,7 +370,6 @@ void OReportWindow::setGridSnap(BOOL bOn)
// -----------------------------------------------------------------------------
void OReportWindow::setDragStripes(BOOL bOn)
{
-
m_aViewsWindow.setDragStripes(bOn);
}
// -----------------------------------------------------------------------------
@@ -385,13 +383,18 @@ sal_uInt32 OReportWindow::getMarkedObjectCount() const
return m_aViewsWindow.getMarkedObjectCount();
}
// -----------------------------------------------------------------------------
-void OReportWindow::zoom(const sal_Int16 _nZoom)
+void OReportWindow::zoom(const Fraction& _aZoom)
{
- m_aHRuler.SetZoom(Fraction(_nZoom,100));
+ m_aHRuler.SetZoom(_aZoom);
m_aHRuler.Invalidate();
- m_aViewsWindow.zoom(_nZoom);
- notifyHeightChanged();
+ //setZoomFactor(_aZoom,*this); // if this will be include the H - ruler has the wrong size
+ m_aViewsWindow.zoom(_aZoom);
+
+ notifySizeChanged();
+ const Point aNewThumbPos( m_pParent->getThumbPos() );
+
+ ScrollChildren( aNewThumbPos );
Resize();
Invalidate(INVALIDATE_NOERASE | INVALIDATE_NOCHILDREN | INVALIDATE_TRANSPARENT);
@@ -401,7 +404,43 @@ void OReportWindow::fillControlModelSelection(::std::vector< uno::Reference< uno
{
m_aViewsWindow.fillControlModelSelection(_rSelection);
}
+// -----------------------------------------------------------------------------
+sal_Int32 OReportWindow::impl_getRealPixelWidth() const
+{
+ const sal_Int32 nPaperWidth = getStyleProperty<awt::Size>(m_pView->getController().getReportDefinition(),PROPERTY_PAPERSIZE).Width;
+ MapMode aMap( MAP_100TH_MM );
+ const Size aPageSize = LogicToPixel(Size(nPaperWidth,0),aMap);
+ return aPageSize.Width() + REPORT_ENDMARKER_WIDTH + REPORT_STARTMARKER_WIDTH + SECTION_OFFSET;
+}
+// -----------------------------------------------------------------------------
+sal_uInt16 OReportWindow::getZoomFactor(SvxZoomType _eType) const
+{
+ sal_uInt16 nZoom(100);
+ const Size aSize( GetSizePixel() );
+ switch( _eType)
+ {
+ case SVX_ZOOM_PERCENT:
+ nZoom = m_pView->getController().getZoomValue();
+ break;
+ case SVX_ZOOM_OPTIMAL:
+ break;
+ case SVX_ZOOM_WHOLEPAGE:
+ {
+ nZoom = (USHORT)(long)Fraction(aSize.Width()*100,impl_getRealPixelWidth());
+ MapMode aMap( MAP_100TH_MM );
+ const Size aHeight = m_aViewsWindow.LogicToPixel(m_aViewsWindow.PixelToLogic(Size(0,GetTotalHeight() + m_aHRuler.GetSizePixel().Height())),aMap);
+ nZoom = ::std::min(nZoom,(USHORT)(long)Fraction(aSize.Height()*100,aHeight.Height()));
+ }
+ break;
+ case SVX_ZOOM_PAGEWIDTH:
+ nZoom = (USHORT)(long)Fraction(aSize.Width()*100,impl_getRealPixelWidth());
+ break;
+ default:
+ break;
+ }
+ return nZoom;
+}
//==================================================================
} //rptui
//==================================================================
diff --git a/reportdesign/source/ui/report/ScrollHelper.cxx b/reportdesign/source/ui/report/ScrollHelper.cxx
index bbb9e2c8435e..9ab957796c39 100644
--- a/reportdesign/source/ui/report/ScrollHelper.cxx
+++ b/reportdesign/source/ui/report/ScrollHelper.cxx
@@ -46,13 +46,11 @@ namespace rptui
using namespace ::com::sun::star;
// -----------------------------------------------------------------------------
-void lcl_setScrollBar(sal_Int32 _nNewValue,sal_Int32 _nOffSet,const Point& _aPos,const Size& _aSize,ScrollBar& _rScrollBar)
+void lcl_setScrollBar(sal_Int32 _nNewValue,const Point& _aPos,const Size& _aSize,ScrollBar& _rScrollBar)
{
_rScrollBar.SetPosSizePixel(_aPos,_aSize);
_rScrollBar.SetPageSize( _nNewValue );
_rScrollBar.SetVisibleSize( _nNewValue );
- (void)_nOffSet;
- //_rScrollBar.SetThumbPos( -_nOffSet );
}
// -----------------------------------------------------------------------------
@@ -97,6 +95,7 @@ void OScrollWindowHelper::impl_initScrollBar( ScrollBar& _rScrollBar ) const
aStyle.SetDragFullOptions( aStyle.GetDragFullOptions() | DRAGFULL_OPTION_SCROLL ); // live scrolling
aSettings.SetStyleSettings( aStyle );
_rScrollBar.SetSettings( aSettings );
+ //_rScrollBar.SetMapMode( MapMode( MAP_100TH_MM ) );
_rScrollBar.SetScrollHdl( LINK( this, OScrollWindowHelper, ScrollHdl ) );
_rScrollBar.SetLineSize( SCR_LINE_SIZE );
@@ -115,16 +114,12 @@ void OScrollWindowHelper::setTotalSize(sal_Int32 _nWidth ,sal_Int32 _nHeight)
{
m_aTotalPixelSize.Width() = _nWidth;
m_aTotalPixelSize.Height() = _nHeight;
- m_aHScroll.SetRangeMax( m_aTotalPixelSize.Width() );
+
+ // now set the ranges without start marker
+ Fraction aStartWidth(REPORT_STARTMARKER_WIDTH * m_pParent->getController().getZoomValue(),100);
+ long nWidth = long(_nWidth - (double)aStartWidth);
+ m_aHScroll.SetRangeMax( nWidth );
m_aVScroll.SetRangeMax( m_aTotalPixelSize.Height() );
- /*Point aNewPixOffset(-m_aHScroll.GetThumbPos(),-m_aVScroll.GetThumbPos());
- if ( m_aPixOffset != aNewPixOffset )
- {
- const long nX = aNewPixOffset.X() - m_aPixOffset.X();
- const long nY = aNewPixOffset.Y() - m_aPixOffset.Y();
- impl_scrollContent( -nX, -nY );
- m_aPixOffset = aNewPixOffset;
- }*/
Resize();
}
@@ -136,6 +131,7 @@ Size OScrollWindowHelper::ResizeScrollBars()
if ( aOutPixSz.Width() == 0 || aOutPixSz.Height() == 0 )
return aOutPixSz;
+ aOutPixSz.Height() -= m_aReportWindow.getRulerHeight();
// determine the size of the output-area and if we need scrollbars
const long nScrSize = GetSettings().GetStyleSettings().GetScrollBarSize();
bool bVVisible = false; // by default no vertical-ScrollBar
@@ -164,7 +160,7 @@ Size OScrollWindowHelper::ResizeScrollBars()
}
while ( bChanged ); // until no visibility has changed
- const Point aOldPixOffset( m_aPixOffset );
+ aOutPixSz.Height() += m_aReportWindow.getRulerHeight();
// show or hide scrollbars
m_aVScroll.Show( bVVisible );
@@ -182,66 +178,29 @@ Size OScrollWindowHelper::ResizeScrollBars()
const Point aOffset = LogicToPixel( Point( SECTION_OFFSET, SECTION_OFFSET ), MAP_APPFONT );
// resize scrollbars and set their ranges
{
- Fraction aStartWith(long(REPORT_STARTMARKER_WIDTH));
- const Fraction aZoom(m_pParent->getController().getZoomValue(),100);
- aStartWith *= aZoom;
-
- const sal_Int32 nOldThumbPos = m_aHScroll.GetThumbPos();
- const sal_Int32 nNewWidth = aOutPixSz.Width() - aOffset.X();
- lcl_setScrollBar(nNewWidth,m_aPixOffset.X(),Point( (long)aStartWith + aOffset.X(), aOutPixSz.Height() ),Size( aOutPixSz.Width() - long(aStartWith), nScrSize ),m_aHScroll);
- m_aPixOffset.X() += nOldThumbPos - m_aHScroll.GetThumbPos();
+ Fraction aStartWidth(long(REPORT_STARTMARKER_WIDTH*m_pParent->getController().getZoomValue()),100);
+ const sal_Int32 nNewWidth = aOutPixSz.Width() - aOffset.X() - (long)aStartWidth;
+ lcl_setScrollBar(nNewWidth,Point( (long)aStartWidth + aOffset.X(), aOutPixSz.Height() ),Size( nNewWidth, nScrSize ),m_aHScroll);
}
{
- const sal_Int32 nOldThumbPos = m_aVScroll.GetThumbPos();
const sal_Int32 nNewHeight = aOutPixSz.Height() - m_aReportWindow.getRulerHeight();
- lcl_setScrollBar(nNewHeight,m_aPixOffset.Y(),Point( aOutPixSz.Width(), m_aReportWindow.getRulerHeight() ),Size( nScrSize,nNewHeight),m_aVScroll);
- m_aPixOffset.Y() += nOldThumbPos - m_aVScroll.GetThumbPos();
+ lcl_setScrollBar(nNewHeight,Point( aOutPixSz.Width(), m_aReportWindow.getRulerHeight() ),Size( nScrSize,nNewHeight),m_aVScroll);
}
- // select the shifted map-mode
- if ( m_aPixOffset != aOldPixOffset )
- {
- const long nX = m_aPixOffset.X() - aOldPixOffset.X();
- const long nY = m_aPixOffset.Y() - aOldPixOffset.Y();
- impl_scrollContent( -nX, -nY );
- }
return aOutPixSz;
}
//------------------------------------------------------------------------------
-void OScrollWindowHelper::impl_scrollContent( long nDeltaX, long nDeltaY )
-{
- m_aReportWindow.ScrollChildren(nDeltaX,nDeltaY);
-}
-//------------------------------------------------------------------------------
void OScrollWindowHelper::Resize()
{
OScrollWindowHelper_BASE::Resize();
- // Size aSize = GetOutputSizePixel();
- // const Size aMinSize(getMaxMarkerWidth(sal_False),0);
- // bool bResize = false;
- //if( aSize.Width() < aMinSize.Width() )
- //{
- // aSize.setWidth( aMinSize.Width() );
- // bResize = true;
- //}
- //if( aSize.Height() < aMinSize.Height() )
- //{
- // aSize.setHeight( aMinSize.Height() );
- // bResize = true;
- //}
- //if( bResize )
- // {
- // //static_cast<SplitWindow*>(GetParent())->SetItemSize(2,aSize.getWidth());
- // SetOutputSizePixel( aSize );
- // }
const Size aTotalOutputSize = ResizeScrollBars();
- m_aReportWindow.SetPosSizePixel(Point( 0, 0 ),Size( aTotalOutputSize.Width(), aTotalOutputSize.Height()));
+ m_aReportWindow.SetPosSizePixel(Point( 0, 0 ),aTotalOutputSize);
}
//------------------------------------------------------------------------------
IMPL_LINK( OScrollWindowHelper, ScrollHdl, ScrollBar*, /*pScroll*/ )
{
- impl_scrollContent( m_aHScroll.GetDelta(), m_aVScroll.GetDelta() );
+ m_aReportWindow.ScrollChildren( getThumbPos() );
return 0;
}
//------------------------------------------------------------------------------
@@ -416,7 +375,7 @@ void OScrollWindowHelper::DataChanged( const DataChangedEvent& rDCEvt )
// -----------------------------------------------------------------------------
void OScrollWindowHelper::_propertyChanged(const beans::PropertyChangeEvent& /*_rEvent*/) throw( uno::RuntimeException)
{
- m_aReportWindow.notifyHeightChanged();
+ m_aReportWindow.notifySizeChanged();
}
// -----------------------------------------------------------------------------
void OScrollWindowHelper::setGridSnap(BOOL bOn)
@@ -439,9 +398,10 @@ sal_uInt32 OScrollWindowHelper::getMarkedObjectCount() const
return m_aReportWindow.getMarkedObjectCount();
}
// -----------------------------------------------------------------------------
-void OScrollWindowHelper::zoom(const sal_Int16 _nZoom)
+void OScrollWindowHelper::zoom(const Fraction& _aZoom)
{
- m_aReportWindow.zoom(_nZoom);
+ m_aReportWindow.zoom(_aZoom);
+ Resize();
Invalidate(INVALIDATE_NOCHILDREN|INVALIDATE_TRANSPARENT);
}
// -----------------------------------------------------------------------------
@@ -449,7 +409,11 @@ void OScrollWindowHelper::fillControlModelSelection(::std::vector< uno::Referenc
{
m_aReportWindow.fillControlModelSelection(_rSelection);
}
-
+// -----------------------------------------------------------------------------
+sal_uInt16 OScrollWindowHelper::getZoomFactor(SvxZoomType _eType) const
+{
+ return m_aReportWindow.getZoomFactor(_eType);
+}
//==============================================================================
} // rptui
//==============================================================================
diff --git a/reportdesign/source/ui/report/SectionWindow.cxx b/reportdesign/source/ui/report/SectionWindow.cxx
index a54f8fecd6e7..2d67af00d7d0 100644
--- a/reportdesign/source/ui/report/SectionWindow.cxx
+++ b/reportdesign/source/ui/report/SectionWindow.cxx
@@ -68,23 +68,26 @@ OSectionWindow::OSectionWindow( OViewsWindow* _pParent,const uno::Reference< rep
{
DBG_CTOR( rpt_OSectionWindow,NULL);
SetUniqueId(UID_RPT_SECTIONSWINDOW);
- SetMapMode( MapMode( MAP_100TH_MM ) );
- EnableMapMode();
+ const MapMode& rMapMode = _pParent->GetMapMode();
+ SetMapMode( rMapMode );
ImplInitSettings();
-
// TRY
m_aSplitter.SetMapMode( MapMode( MAP_100TH_MM ) );
- m_aSplitter.EnableMapMode();
-
m_aSplitter.SetStartSplitHdl(LINK(this, OSectionWindow,StartSplitHdl));
m_aSplitter.SetSplitHdl(LINK(this, OSectionWindow,SplitHdl));
m_aSplitter.SetEndSplitHdl(LINK(this, OSectionWindow,EndSplitHdl));
m_aSplitter.SetBackground( Wallpaper( Application::GetSettings().GetStyleSettings().GetFaceColor() ));
m_aSplitter.SetSplitPosPixel(m_aSplitter.LogicToPixel(Size(0,_xSection->getHeight())).Height());
- m_aSplitter.Show();
+
m_aStartMarker.setCollapsedHdl(LINK(this,OSectionWindow,Collapsed));
+ m_aStartMarker.zoom(rMapMode.GetScaleX());
+ setZoomFactor(rMapMode.GetScaleX(),m_aReportSection);
+ setZoomFactor(rMapMode.GetScaleX(),m_aSplitter);
+ setZoomFactor(rMapMode.GetScaleX(),m_aEndMarker);
+
+ m_aSplitter.Show();
m_aStartMarker.Show();
m_aReportSection.Show();
m_aEndMarker.Show();
@@ -135,12 +138,13 @@ void OSectionWindow::_propertyChanged(const beans::PropertyChangeEvent& _rEvent)
{
m_pParent->getView()->SetUpdateMode(FALSE);
Resize();
- m_pParent->getView()->notifyHeightChanged();
+ m_pParent->getView()->notifySizeChanged();
m_pParent->resize(*this);
m_pParent->getView()->SetUpdateMode(TRUE);
m_aStartMarker.Invalidate(INVALIDATE_NOERASE);
m_aEndMarker.Invalidate(INVALIDATE_NOERASE);
m_aReportSection.Invalidate(/*INVALIDATE_NOERASE*/);
+ getViewsWindow()->getView()->getReportView()->getController().resetZoomType();
// Invalidate(INVALIDATE_NOCHILDREN | INVALIDATE_TRANSPARENT);
// m_pParent->Invalidate(INVALIDATE_NOCHILDREN|INVALIDATE_NOERASE|INVALIDATE_TRANSPARENT);
// m_pParent->Invalidate(/*INVALIDATE_NOCHILDREN | INVALIDATE_NOERASE |*/ INVALIDATE_NOCHILDREN | INVALIDATE_TRANSPARENT);
@@ -178,7 +182,7 @@ void OSectionWindow::setGroupSectionTitle(const uno::Reference< report::XGroup>&
void OSectionWindow::ImplInitSettings()
{
SetBackground( );
- // SetBackground( Wallpaper( COL_RED ));
+ //SetBackground( Wallpaper( COL_RED ));
}
//-----------------------------------------------------------------------------
void OSectionWindow::DataChanged( const DataChangedEvent& rDCEvt )
@@ -197,14 +201,12 @@ void OSectionWindow::Resize()
{
Window::Resize();
- //const Point aOffset = LogicToPixel( Point( SECTION_OFFSET, SECTION_OFFSET ), MAP_APPFONT );
-
Size aOutputSize = GetOutputSizePixel();
Fraction aEndWidth(long(REPORT_ENDMARKER_WIDTH));
aEndWidth *= GetMapMode().GetScaleX();
- const Point aOffset = m_pParent->getView()->getScrollOffset();
- aOutputSize.Width() -= aOffset.X();
+ const Point aThumbPos = m_pParent->getView()->getThumbPos();
+ aOutputSize.Width() -= aThumbPos.X();
aOutputSize.Height() -= m_aSplitter.GetSizePixel().Height();
if ( m_aStartMarker.isCollapsed() )
@@ -214,7 +216,7 @@ void OSectionWindow::Resize()
}
else
{
- const bool bShowEndMarker = m_pParent->getView()->GetTotalWidth() <= (aOffset.X() + aOutputSize.Width() );
+ const bool bShowEndMarker = m_pParent->getView()->GetTotalWidth() <= (aThumbPos.X() + aOutputSize.Width() );
Fraction aStartWidth(long(REPORT_STARTMARKER_WIDTH));
aStartWidth *= GetMapMode().GetScaleX();
@@ -229,6 +231,7 @@ void OSectionWindow::Resize()
aSectionSize.Width() = aOutputSize.Width() - (long)aStartWidth;
if ( bShowEndMarker )
aSectionSize.Width() -= (long)aEndWidth;
+
m_aReportSection.SetPosSizePixel(aReportPos,aSectionSize);
// set splitter
@@ -248,7 +251,7 @@ void OSectionWindow::Resize()
void OSectionWindow::setCollapsed(sal_Bool _bCollapsed)
{
m_aReportSection.Show(_bCollapsed);
- m_aEndMarker.Show/*setCollapsed*/(_bCollapsed);
+ m_aEndMarker.Show(_bCollapsed);
m_aSplitter.Show(_bCollapsed);
}
//-----------------------------------------------------------------------------
@@ -278,14 +281,15 @@ IMPL_LINK( OSectionWindow, Collapsed, OStartMarker *, _pMarker )
return 0L;
}
// -----------------------------------------------------------------------------
-void OSectionWindow::zoom(const sal_Int16 _nZoom)
+void OSectionWindow::zoom(const Fraction& _aZoom)
{
- setZoomFactor(_nZoom,*this);
- m_aStartMarker.zoom(_nZoom);
- setZoomFactor(_nZoom,m_aReportSection);
- setZoomFactor(_nZoom,m_aSplitter);
- setZoomFactor(_nZoom,m_aEndMarker);
- Resize();
+ setZoomFactor(_aZoom,*this);
+ m_aStartMarker.zoom(_aZoom);
+
+ setZoomFactor(_aZoom,m_aReportSection);
+ setZoomFactor(_aZoom,m_aSplitter);
+ setZoomFactor(_aZoom,m_aEndMarker);
+ //Resize();
Invalidate(/*INVALIDATE_UPDATE |*/ /* | INVALIDATE_TRANSPARENT *//*INVALIDATE_NOCHILDREN*/);
}
//-----------------------------------------------------------------------------
@@ -338,34 +342,40 @@ IMPL_LINK( OSectionWindow, SplitHdl, Splitter*, _pSplitter )
return 0L;
}
// -----------------------------------------------------------------------------
-void lcl_scroll(Window& _rWindow,const Size& _aDelta)
+void lcl_scroll(Window& _rWindow,const Point& _aDelta)
{
- _rWindow.Scroll(-_aDelta.Width(),-_aDelta.Height(),SCROLL_CHILDREN/*|SCROLL_CLIP*/);
+ _rWindow.Scroll(-_aDelta.X(),-_aDelta.Y()/*,SCROLL_CHILDREN*//*|SCROLL_CLIP*/);
_rWindow.Invalidate(INVALIDATE_TRANSPARENT);
}
// -----------------------------------------------------------------------------
-void lcl_setMapMode(Window& _rWindow,long _nDeltaX, long _nDeltaY)
+void lcl_setOrigin(Window& _rWindow,long _nX, long _nY)
{
MapMode aMap = _rWindow.GetMapMode();
- Point aOrg = aMap.GetOrigin();
- aMap.SetOrigin( Point(aOrg.X() - _nDeltaX, aOrg.Y() - _nDeltaY));
+ aMap.SetOrigin( Point(- _nX, - _nY));
_rWindow.SetMapMode( aMap );
}
//----------------------------------------------------------------------------
-void OSectionWindow::scrollChildren(long _nDeltaX)
+void OSectionWindow::scrollChildren(long _nX)
{
- const Size aDelta( PixelToLogic(Size(_nDeltaX,0)) );
- lcl_setMapMode(m_aReportSection,aDelta.Width(), 0);
+ const Point aDelta( _nX,0 );
+
+ MapMode aMapMode( m_aReportSection.GetMapMode() );
+ const Point aOld = aMapMode.GetOrigin();
+ lcl_setOrigin(m_aReportSection,aDelta.X(), 0);
+
+ aMapMode = m_aReportSection.GetMapMode();
+ const Point aNew = aMapMode.GetOrigin();
+ const Point aDiff = aOld - aNew;
{
- OWindowPositionCorrector aCorrector(&m_aReportSection,-_nDeltaX,0);
- lcl_scroll(m_aReportSection,aDelta);
+ //OWindowPositionCorrector aCorrector(&m_aReportSection,-aDelta.Width(),0);
+ lcl_scroll(m_aReportSection,aDiff);
}
- // lcl_setMapMode(m_aEndMarker,_nDeltaX, 0);
- lcl_scroll(m_aEndMarker,aDelta);
+ //lcl_setOrigin(m_aEndMarker,_nDeltaX, 0);
+ lcl_scroll(m_aEndMarker,m_aEndMarker.PixelToLogic(Point(_nX,0)));
- lcl_setMapMode(m_aSplitter,_nDeltaX, 0);
- lcl_scroll(m_aSplitter,aDelta);
+ lcl_setOrigin(m_aSplitter,_nX, 0);
+ lcl_scroll(m_aSplitter,aDiff);
Resize();
}
diff --git a/reportdesign/source/ui/report/StartMarker.cxx b/reportdesign/source/ui/report/StartMarker.cxx
index b3e6d81f7a94..b525a42f5dd8 100644
--- a/reportdesign/source/ui/report/StartMarker.cxx
+++ b/reportdesign/source/ui/report/StartMarker.cxx
@@ -45,7 +45,6 @@
#include <svtools/smplhint.hxx>
#define CORNER_SPACE 5
-#define TEXT_WIDTH 10
//=====================================================================
namespace rptui
@@ -64,7 +63,7 @@ OStartMarker::OStartMarker(OSectionWindow* _pParent,const ::rtl::OUString& _sCol
: OColorListener(_pParent,_sColorEntry)
,m_aVRuler(this,WB_VERT)
,m_aText(this,WB_HYPHENATION)
-,m_aImage(this,WB_LEFT|WB_TOP)
+,m_aImage(this,WB_LEFT|WB_TOP|WB_SCALE)
,m_pParent(_pParent)
,m_bShowRuler(sal_True)
{
@@ -177,7 +176,7 @@ void OStartMarker::MouseButtonUp( const MouseEvent& rMEvt )
const Size aOutputSize = GetOutputSizePixel();
if( aPos.X() > aOutputSize.Width() || aPos.Y() > aOutputSize.Height() )
return;
- Rectangle aRect(m_aImage.GetPosPixel(),m_aImage.GetImage().GetSizePixel());
+ Rectangle aRect(m_aImage.GetPosPixel(),m_aImage.GetSizePixel());
if ( rMEvt.GetClicks() == 2 || aRect.IsInside( aPos ) )
{
m_bCollapsed = !m_bCollapsed;
@@ -237,25 +236,25 @@ void OStartMarker::Resize()
const long nOutputWidth = aOutputSize.Width();
const long nOutputHeight = aOutputSize.Height();
+ const long nVRulerWidth = m_aVRuler.GetSizePixel().Width();
+ const Point aRulerPos(nOutputWidth - nVRulerWidth,0);
+ m_aVRuler.SetPosSizePixel(aRulerPos,Size(nVRulerWidth,nOutputHeight));
+
Size aImageSize = m_aImage.GetImage().GetSizePixel();
const MapMode& rMapMode = GetMapMode();
aImageSize.Width() = long(aImageSize.Width() * (double)rMapMode.GetScaleX());
aImageSize.Height() = long(aImageSize.Height() * (double)rMapMode.GetScaleY());
- const long nVRulerWidth = m_aVRuler.GetSizePixel().Width();
- const Point aRulerPos(nOutputWidth - nVRulerWidth/* - 5*/,0);
+
Fraction aExtraWidth(long(REPORT_EXTRA_SPACE));
aExtraWidth *= rMapMode.GetScaleX();
Point aPos(aImageSize.Width() + (long)(aExtraWidth + aExtraWidth), aExtraWidth);
-
- m_aText.SetPosSizePixel(aPos,Size(aRulerPos.X() - aPos.X(),::std::max<sal_Int32>(nOutputHeight - 2*aPos.Y(),LogicToPixel(Size(0,m_aText.GetTextHeight())).Height())));
+ const long nHeight = ::std::max<sal_Int32>(nOutputHeight - 2*aPos.Y(),LogicToPixel(Size(0,m_aText.GetTextHeight())).Height());
+ m_aText.SetPosSizePixel(aPos,Size(aRulerPos.X() - aPos.X(),nHeight));
aPos.X() = aExtraWidth;
aPos.Y() += static_cast<sal_Int32>((LogicToPixel(Size(0,m_aText.GetTextHeight())).Height() - aImageSize.Height()) * 0.5) ;
- m_aImage.SetPosSizePixel(aPos,aImageSize);/*Size(aImageSize.Width() + (long)aExtraWidth,aImageSize.Height() + (long)aExtraWidth));*/
- //m_aImage.SetPosPixel(aPos);
-
- m_aVRuler.SetPosSizePixel(aRulerPos,Size(nVRulerWidth,nOutputHeight));
+ m_aImage.SetPosSizePixel(aPos,aImageSize);
}
// -----------------------------------------------------------------------------
void OStartMarker::setTitle(const String& _sTitle)
@@ -314,13 +313,11 @@ void OStartMarker::setCollapsed(sal_Bool _bCollapsed)
showRuler(_bCollapsed);
}
// -----------------------------------------------------------------------
-void OStartMarker::zoom(const sal_Int16 _nZoom)
+void OStartMarker::zoom(const Fraction& _aZoom)
{
- setZoomFactor(_nZoom,*this);
- m_aVRuler.SetZoom(Fraction(_nZoom,100));
- // setZoomFactor(_nZoom,m_aVRuler);
- setZoomFactor(_nZoom,m_aText);
- setZoomFactor(_nZoom,m_aImage);
+ setZoomFactor(_aZoom,*this);
+ m_aVRuler.SetZoom(_aZoom);
+ setZoomFactor(_aZoom,m_aText);
Resize();
Invalidate();
}
diff --git a/reportdesign/source/ui/report/ViewsWindow.cxx b/reportdesign/source/ui/report/ViewsWindow.cxx
index bc82a3b38d75..f51074e14d6f 100644
--- a/reportdesign/source/ui/report/ViewsWindow.cxx
+++ b/reportdesign/source/ui/report/ViewsWindow.cxx
@@ -189,7 +189,6 @@ OViewsWindow::OViewsWindow( OReportWindow* _pReportWindow)
SetPaintTransparent(TRUE);
SetUniqueId(UID_RPT_VIEWSWINDOW);
SetMapMode( MapMode( MAP_100TH_MM ) );
- EnableMapMode();
StartListening(m_aColorConfig);
ImplInitSettings();
}
@@ -251,11 +250,12 @@ void OViewsWindow::resize(const OSectionWindow& _rSectionWindow)
pSectionWindow->getStartMarker().Invalidate(INVALIDATE_NOERASE | INVALIDATE_NOCHILDREN | INVALIDATE_TRANSPARENT );
}
} // for (;aIter != aEnd ; ++aIter,++nPos)
- Fraction aStartWith(long(REPORT_STARTMARKER_WIDTH));
- aStartWith *= GetMapMode().GetScaleX();
+ Fraction aStartWidth(long(REPORT_STARTMARKER_WIDTH));
+ aStartWidth *= GetMapMode().GetScaleX();
Size aOut = GetOutputSizePixel();
- aOut.Width() = aStartWith;
+ aOut.Width() = aStartWidth;
aOut = PixelToLogic(aOut);
+ m_pParent->notifySizeChanged();
Rectangle aRect(PixelToLogic(Point(0,0)),aOut);
Invalidate(aRect,INVALIDATE_NOERASE | INVALIDATE_NOCHILDREN | INVALIDATE_TRANSPARENT);
@@ -264,18 +264,18 @@ void OViewsWindow::resize(const OSectionWindow& _rSectionWindow)
void OViewsWindow::Resize()
{
Window::Resize();
- if ( m_aSections.empty() )
- return;
-
- const Point aOffset = m_pParent->getScrollOffset();
- Point aStartPoint(0,aOffset.Y());
- TSectionsMap::iterator aIter = m_aSections.begin();
- TSectionsMap::iterator aEnd = m_aSections.end();
- for (USHORT nPos=0;aIter != aEnd ; ++aIter,++nPos)
+ if ( !m_aSections.empty() )
{
- const ::boost::shared_ptr<OSectionWindow> pSectionWindow = (*aIter);
- impl_resizeSectionWindow(*pSectionWindow.get(),aStartPoint,true);
- } // for (;aIter != aEnd ; ++aIter)
+ const Point aOffset(m_pParent->getThumbPos());
+ Point aStartPoint(0,-aOffset.Y());
+ TSectionsMap::iterator aIter = m_aSections.begin();
+ TSectionsMap::iterator aEnd = m_aSections.end();
+ for (USHORT nPos=0;aIter != aEnd ; ++aIter,++nPos)
+ {
+ const ::boost::shared_ptr<OSectionWindow> pSectionWindow = (*aIter);
+ impl_resizeSectionWindow(*pSectionWindow.get(),aStartPoint,true);
+ } // for (;aIter != aEnd ; ++aIter)
+ }
}
// -----------------------------------------------------------------------------
void OViewsWindow::Paint( const Rectangle& rRect )
@@ -283,13 +283,13 @@ void OViewsWindow::Paint( const Rectangle& rRect )
Window::Paint( rRect );
Size aOut = GetOutputSizePixel();
- Fraction aStartWith(long(REPORT_STARTMARKER_WIDTH));
- aStartWith *= GetMapMode().GetScaleX();
+ Fraction aStartWidth(long(REPORT_STARTMARKER_WIDTH));
+ aStartWidth *= GetMapMode().GetScaleX();
- aOut.Width() -= (long)aStartWith;
+ aOut.Width() -= (long)aStartWidth;
aOut = PixelToLogic(aOut);
- Rectangle aRect(PixelToLogic(Point(aStartWith,0)),aOut);
+ Rectangle aRect(PixelToLogic(Point(aStartWidth,0)),aOut);
Wallpaper aWall( m_aColorConfig.GetColorValue(::svtools::APPBACKGROUND).nColor );
DrawWallpaper(aRect,aWall);
}
@@ -317,7 +317,6 @@ void OViewsWindow::DataChanged( const DataChangedEvent& rDCEvt )
void OViewsWindow::addSection(const uno::Reference< report::XSection >& _xSection,const ::rtl::OUString& _sColorEntry,USHORT _nPosition)
{
::boost::shared_ptr<OSectionWindow> pSectionWindow( new OSectionWindow(this,_xSection,_sColorEntry) );
-
m_aSections.insert(getIteratorAtPos(_nPosition) , TSectionsMap::value_type(pSectionWindow));
m_pParent->setMarked(&pSectionWindow->getReportSection().getSectionView(),m_aSections.size() == 1);
@@ -361,7 +360,6 @@ sal_Int32 OViewsWindow::getTotalHeight() const
{
nHeight += (*aIter)->GetSizePixel().Height();
}
-
return nHeight;
}
//----------------------------------------------------------------------------
@@ -1735,53 +1733,59 @@ void OViewsWindow::collapseSections(const uno::Sequence< beans::PropertyValue>&
}
}
// -----------------------------------------------------------------------------
-void OViewsWindow::zoom(const sal_Int16 _nZoom)
+void OViewsWindow::zoom(const Fraction& _aZoom)
{
- Fraction aStartWith(long(REPORT_STARTMARKER_WIDTH));
- aStartWith *= GetMapMode().GetScaleX();
+ const MapMode& aMapMode = GetMapMode();
+
+ Fraction aStartWidth(long(REPORT_STARTMARKER_WIDTH));
+ if ( _aZoom < aMapMode.GetScaleX() )
+ aStartWidth *= aMapMode.GetScaleX();
+ else
+ aStartWidth *= _aZoom;
- setZoomFactor(_nZoom,*this);
+ setZoomFactor(_aZoom,*this);
TSectionsMap::iterator aIter = m_aSections.begin();
TSectionsMap::iterator aEnd = m_aSections.end();
for (;aIter != aEnd ; ++aIter)
{
- (*aIter)->zoom(_nZoom);
+ (*aIter)->zoom(_aZoom);
} // for (;aIter != aEnd ; ++aIter)
Resize();
Size aOut = GetOutputSizePixel();
- aOut.Width() = aStartWith;
+ aOut.Width() = aStartWidth;
aOut = PixelToLogic(aOut);
Rectangle aRect(PixelToLogic(Point(0,0)),aOut);
Invalidate(aRect,/*INVALIDATE_NOERASE | */INVALIDATE_NOCHILDREN /*| INVALIDATE_TRANSPARENT*/);
}
//----------------------------------------------------------------------------
-void OViewsWindow::scrollChildren(long _nDeltaX, long _nDeltaY)
+void OViewsWindow::scrollChildren(const Point& _aThumbPos)
{
- const Size aDelta( PixelToLogic(Size(_nDeltaX,_nDeltaY)) );
- if ( _nDeltaY )
+ const Point aPos(PixelToLogic(_aThumbPos));
{
- MapMode aMap = GetMapMode();
- Point aOrg = aMap.GetOrigin();
- aMap.SetOrigin( Point(aOrg.X() , aOrg.Y() - _nDeltaY));
- SetMapMode( aMap );
- OWindowPositionCorrector aCorrector(this,0,-_nDeltaY);
- Scroll(0,-aDelta.Height(),SCROLL_CHILDREN);
+ MapMode aMapMode = GetMapMode();
+ const Point aOld = aMapMode.GetOrigin();
+ aMapMode.SetOrigin(m_pParent->GetMapMode().GetOrigin());
+
+ const Point aPosY(m_pParent->PixelToLogic(_aThumbPos,aMapMode));
+
+ aMapMode.SetOrigin( Point(aOld.X() , - aPosY.Y()));
+ SetMapMode( aMapMode );
+ //OWindowPositionCorrector aCorrector(this,0,-( aOld.Y() + aPosY.Y()));
+ Scroll(0, -( aOld.Y() + aPosY.Y()),SCROLL_CHILDREN);
+ Resize();
Invalidate(INVALIDATE_NOCHILDREN|INVALIDATE_TRANSPARENT);
}
- if ( _nDeltaX )
+ TSectionsMap::iterator aIter = m_aSections.begin();
+ TSectionsMap::iterator aEnd = m_aSections.end();
+ for (;aIter != aEnd ; ++aIter)
{
- TSectionsMap::iterator aIter = m_aSections.begin();
- TSectionsMap::iterator aEnd = m_aSections.end();
- for (;aIter != aEnd ; ++aIter)
- {
- (*aIter)->scrollChildren(_nDeltaX);
- } // for (;aIter != aEnd ; ++aIter)
- }
+ (*aIter)->scrollChildren(aPos.X());
+ } // for (;aIter != aEnd ; ++aIter)
}
// -----------------------------------------------------------------------------
void OViewsWindow::fillControlModelSelection(::std::vector< uno::Reference< uno::XInterface > >& _rSelection) const
diff --git a/reportdesign/source/ui/report/dlgedfunc.cxx b/reportdesign/source/ui/report/dlgedfunc.cxx
index 01dade9ca42d..e852beac5ff6 100644
--- a/reportdesign/source/ui/report/dlgedfunc.cxx
+++ b/reportdesign/source/ui/report/dlgedfunc.cxx
@@ -91,17 +91,17 @@ void DlgEdFunc::ForceScroll( const Point& rPos )
OScrollWindowHelper* pScrollWindow = pReportWindow->getScrollWindow();
Size aOut = pReportWindow->GetOutputSizePixel();
- Fraction aStartWith(long(REPORT_STARTMARKER_WIDTH));
- aStartWith *= m_pParent->GetMapMode().GetScaleX();
+ Fraction aStartWidth(long(REPORT_STARTMARKER_WIDTH));
+ aStartWidth *= m_pParent->GetMapMode().GetScaleX();
- aOut.Width() -= (long)aStartWith;
+ aOut.Width() -= (long)aStartWidth;
- Rectangle aOutRect( pScrollWindow->getScrollOffset(), aOut );
+ Rectangle aOutRect( pScrollWindow->getThumbPos(), aOut );
aOutRect = m_pParent->PixelToLogic( aOutRect );
//Rectangle aWorkArea = m_pParent->getView()->GetWorkArea();
Point aGcc3WorkaroundTemporary;
Rectangle aWorkArea(aGcc3WorkaroundTemporary,pScrollWindow->getTotalSize());
- aWorkArea.Right() -= (long)aStartWith;
+ aWorkArea.Right() -= (long)aStartWidth;
aWorkArea = pScrollWindow->PixelToLogic( aWorkArea );
if( !aOutRect.IsInside( rPos ) && aWorkArea.IsInside( rPos ) )
{
@@ -388,6 +388,13 @@ sal_Bool DlgEdFunc::handleKeyEvent(const KeyEvent& _rEvent)
}
}
break;
+ case KEY_DELETE:
+ if ( !rCode.IsMod1() && !rCode.IsMod2() )
+ {
+ bReturn = TRUE;
+ break;
+ } // if ( !rCode.IsMod1() && !rCode.IsMod2() )
+ // run through
default:
{
bReturn = m_rView.KeyInput(_rEvent, m_pParent);
diff --git a/reportdesign/source/ui/report/makefile.mk b/reportdesign/source/ui/report/makefile.mk
index 7cc2c2befd6e..b7c700d141b3 100644
--- a/reportdesign/source/ui/report/makefile.mk
+++ b/reportdesign/source/ui/report/makefile.mk
@@ -8,7 +8,7 @@
#
# $RCSfile: makefile.mk,v $
#
-# $Revision: 1.5 $
+# $Revision: 1.5.2.1 $
#
# This file is part of OpenOffice.org.
#
@@ -56,7 +56,6 @@ SLOFILES =\
$(SLO)$/dlgedclip.obj \
$(SLO)$/ReportWindow.obj \
$(SLO)$/DesignView.obj \
- $(SLO)$/InsertFunctions.obj \
$(SLO)$/propbrw.obj
diff --git a/reportdesign/source/ui/report/report.src b/reportdesign/source/ui/report/report.src
index 6612311d5c33..4a45d9c9e063 100644
--- a/reportdesign/source/ui/report/report.src
+++ b/reportdesign/source/ui/report/report.src
@@ -583,7 +583,7 @@ Image REPORT_TREE_ICON
};
String RID_STR_COULD_NOT_CREATE_REPORT
{
- Text [ en-US ] = "An error occured while creating the report." ;
+ Text [ en-US ] = "An error occurred while creating the report." ;
};
String RID_STR_CAUGHT_FOREIGN_EXCEPTION
{
diff --git a/reportdesign/uiconfig/dbreport/menubar/menubar.xml b/reportdesign/uiconfig/dbreport/menubar/menubar.xml
index 0b84d9bcd326..3e678b5b2f37 100644
--- a/reportdesign/uiconfig/dbreport/menubar/menubar.xml
+++ b/reportdesign/uiconfig/dbreport/menubar/menubar.xml
@@ -1,168 +1,172 @@
<?xml version="1.0" encoding="UTF-8"?>
<menu:menubar xmlns:menu="http://openoffice.org/2001/menu" menu:id="menubar">
- <menu:menu menu:id=".uno:PickList" >
+ <menu:menu menu:id=".uno:PickList" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:AddDirect"/>
+ <menu:menuitem menu:id=".uno:Open"/>
+ <menu:menuitem menu:id=".uno:RecentFileList"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AutoPilotMenu"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CloseDoc"/>
+ <menu:menuitem menu:id=".uno:Save"/>
+ <menu:menuitem menu:id=".uno:SaveAs"/>
+ <menu:menuitem menu:id=".uno:SaveAll"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:ExportReportTo">
<menu:menupopup>
- <menu:menuitem menu:id=".uno:AddDirect"/>
- <menu:menuitem menu:id=".uno:Open"/>
- <menu:menuitem menu:id=".uno:RecentFileList"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:AutoPilotMenu"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:CloseDoc"/>
- <menu:menuitem menu:id=".uno:Save"/>
- <menu:menuitem menu:id=".uno:SaveAs"/>
- <menu:menuitem menu:id=".uno:SaveAll"/>
- <menu:menuseparator/>
- <menu:menu menu:id=".uno:ExportReportTo">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:TextDocument"/>
+ <menu:menuitem menu:id=".uno:TextDocument"/>
<menu:menuitem menu:id=".uno:Spreadsheet"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:Quit"/>
</menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:EditMenu" >
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Quit"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:EditMenu" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Undo"/>
+ <menu:menuitem menu:id=".uno:Redo"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Cut"/>
+ <menu:menuitem menu:id=".uno:Copy"/>
+ <menu:menuitem menu:id=".uno:Paste"/>
+ <menu:menu menu:id=".uno:Select">
<menu:menupopup>
- <menu:menuitem menu:id=".uno:Undo"/>
- <menu:menuitem menu:id=".uno:Redo"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:Cut"/>
- <menu:menuitem menu:id=".uno:Copy"/>
- <menu:menuitem menu:id=".uno:Paste"/>
- <menu:menuitem menu:id=".uno:SelectAll"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:Delete"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:PageHeaderFooter"/>
- <menu:menuitem menu:id=".uno:ReportHeaderFooter"/>
- <menu:menuitem menu:id=".uno:ColumnHeaderFooter"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:SelectReport"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:ExecuteReport"/>
+ <menu:menuitem menu:id=".uno:SelectAll"/>
+ <menu:menuitem menu:id=".uno:SelectAllLabels"/>
+ <menu:menuitem menu:id=".uno:SelectAllEdits"/>
+ <menu:menuitem menu:id=".uno:SelectReport"/>
</menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:ViewMenu" >
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Delete"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:PageHeaderFooter"/>
+ <menu:menuitem menu:id=".uno:ReportHeaderFooter"/>
+ <menu:menuitem menu:id=".uno:ColumnHeaderFooter"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ExecuteReport"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ViewMenu" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SwitchControlDesignMode"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ControlProperties"/>
+ <menu:menuitem menu:id=".uno:AddField"/>
+ <menu:menuitem menu:id=".uno:DbSortingAndGrouping"/>
+ <menu:menuitem menu:id=".uno:ReportNavigator"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AvailableToolbars"/>
+ <menu:menuitem menu:id=".uno:StatusBarVisible"/>
+ <menu:menuitem menu:id=".uno:ShowRuler"/>
+ <menu:menu menu:id=".uno:GridMenu" >
<menu:menupopup>
- <menu:menuitem menu:id=".uno:SwitchControlDesignMode"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:SubReportInNewWindow"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:ControlProperties"/>
- <menu:menuitem menu:id=".uno:AddField"/>
- <menu:menuitem menu:id=".uno:DbSortingAndGrouping"/>
- <menu:menuitem menu:id=".uno:ReportNavigator"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:AvailableToolbars"/>
- <menu:menuitem menu:id=".uno:StatusBarVisible"/>
- <menu:menuitem menu:id=".uno:ShowRuler"/>
- <menu:menu menu:id=".uno:GridMenu" >
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:GridVisible"/>
- <menu:menuitem menu:id=".uno:GridUse"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:SnapLinesMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:HelplinesMove"/>
- </menu:menupopup>
- </menu:menu>
+ <menu:menuitem menu:id=".uno:GridVisible"/>
+ <menu:menuitem menu:id=".uno:GridUse"/>
</menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:InsertMenu" >
+ </menu:menu>
+ <menu:menu menu:id=".uno:SnapLinesMenu">
<menu:menupopup>
- <menu:menuitem menu:id=".uno:InsertPageNumberField"/>
- <menu:menuitem menu:id=".uno:InsertDateTimeField"/>
- <menu:menuseparator/>
- <menu:menu menu:id=".uno:GraphicMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:InsertGraphic"/>
- </menu:menupopup>
- </menu:menu>
+ <menu:menuitem menu:id=".uno:HelplinesMove"/>
</menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:FormatMenu" >
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:Zoom"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:InsertMenu" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertPageNumberField"/>
+ <menu:menuitem menu:id=".uno:InsertDateTimeField"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:GraphicMenu">
<menu:menupopup>
- <menu:menuitem menu:id=".uno:ConditionalFormatting"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:FontDialog"/>
- <menu:menuitem menu:id=".uno:PageDialog"/>
- <menu:menuseparator/>
- <menu:menu menu:id=".uno:ArrangeMenu">
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:BringToFront"/>
- <menu:menuitem menu:id=".uno:ObjectBackOne"/>
- <menu:menuitem menu:id=".uno:ObjectForwardOne"/>
- <menu:menuitem menu:id=".uno:SendToBack"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:SetObjectToForeground"/>
- <menu:menuitem menu:id=".uno:SetObjectToBackground"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:ObjectAlign" >
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:ObjectAlignLeft"/>
- <menu:menuitem menu:id=".uno:AlignCenter"/>
- <menu:menuitem menu:id=".uno:ObjectAlignRight"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:AlignUp"/>
- <menu:menuitem menu:id=".uno:AlignMiddle"/>
- <menu:menuitem menu:id=".uno:AlignDown"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:ObjectResize" >
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:SmallestWidth"/>
- <menu:menuitem menu:id=".uno:GreatestWidth"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:SmallestHeight"/>
- <menu:menuitem menu:id=".uno:GreatestHeight"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:Distribution"/>
+ <menu:menuitem menu:id=".uno:InsertGraphic"/>
</menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:ToolsMenu" >
+ </menu:menu>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:FormatMenu" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ConditionalFormatting"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FontDialog"/>
+ <menu:menuitem menu:id=".uno:PageDialog"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:ArrangeMenu">
<menu:menupopup>
- <menu:menu menu:id=".uno:MacrosMenu" >
- <menu:menupopup>
- <menu:menuitem menu:id=".uno:MacroRecorder"/>
- <menu:menuitem menu:id=".uno:RunMacro"/>
- <menu:menu menu:id=".uno:ScriptOrganizer"/>
- <menu:menuitem menu:id=".uno:MacroSignature"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:MacroOrganizer?TabId:short=1"/>
- </menu:menupopup>
- </menu:menu>
- <menu:menuitem menu:id="service:com.sun.star.deployment.ui.PackageManagerDialog"/>
- <menu:menuitem menu:id=".uno:ConfigureDialog"/>
- <menu:menuitem menu:id=".uno:OptionsTreeDialog"/>
+ <menu:menuitem menu:id=".uno:BringToFront"/>
+ <menu:menuitem menu:id=".uno:ObjectBackOne"/>
+ <menu:menuitem menu:id=".uno:ObjectForwardOne"/>
+ <menu:menuitem menu:id=".uno:SendToBack"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetObjectToForeground"/>
+ <menu:menuitem menu:id=".uno:SetObjectToBackground"/>
</menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:WindowList" >
+ </menu:menu>
+ <menu:menu menu:id=".uno:ObjectAlign" >
<menu:menupopup>
- <menu:menuitem menu:id=".uno:NewWindow"/>
- <menu:menuitem menu:id=".uno:CloseWin"/>
- <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ObjectAlignLeft"/>
+ <menu:menuitem menu:id=".uno:AlignCenter"/>
+ <menu:menuitem menu:id=".uno:ObjectAlignRight"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AlignUp"/>
+ <menu:menuitem menu:id=".uno:AlignMiddle"/>
+ <menu:menuitem menu:id=".uno:AlignDown"/>
</menu:menupopup>
- </menu:menu>
- <menu:menu menu:id=".uno:HelpMenu">
+ </menu:menu>
+ <menu:menu menu:id=".uno:ObjectResize" >
<menu:menupopup>
- <menu:menuitem menu:id=".uno:HelpIndex"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:ExtendedHelp"/>
- <menu:menuitem menu:id=".uno:HelpTip"/>
- <menu:menuitem menu:id=".uno:ActiveHelp"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:HelperDialog"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:HelpSupport"/>
- <menu:menuitem menu:id=".uno:OnlineRegistrationDlg"/>
- <menu:menuseparator/>
- <menu:menuitem menu:id=".uno:About"/>
+ <menu:menuitem menu:id=".uno:SmallestWidth"/>
+ <menu:menuitem menu:id=".uno:GreatestWidth"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SmallestHeight"/>
+ <menu:menuitem menu:id=".uno:GreatestHeight"/>
</menu:menupopup>
- </menu:menu>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Distribution"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ToolsMenu" >
+ <menu:menupopup>
+ <menu:menu menu:id=".uno:MacrosMenu" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:MacroRecorder"/>
+ <menu:menuitem menu:id=".uno:RunMacro"/>
+ <menu:menu menu:id=".uno:ScriptOrganizer"/>
+ <menu:menuitem menu:id=".uno:MacroSignature"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MacroOrganizer?TabId:short=1"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id="service:com.sun.star.deployment.ui.PackageManagerDialog"/>
+ <menu:menuitem menu:id=".uno:ConfigureDialog"/>
+ <menu:menuitem menu:id=".uno:OptionsTreeDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:WindowList" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:NewWindow"/>
+ <menu:menuitem menu:id=".uno:CloseWin"/>
+ <menu:menuseparator/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:HelpMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HelpIndex"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ExtendedHelp"/>
+ <menu:menuitem menu:id=".uno:HelpTip"/>
+ <menu:menuitem menu:id=".uno:ActiveHelp"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:HelperDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:HelpSupport"/>
+ <menu:menuitem menu:id=".uno:OnlineRegistrationDlg"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:About"/>
+ </menu:menupopup>
+ </menu:menu>
</menu:menubar>
diff --git a/reportdesign/uiconfig/dbreport/statusbar/statusbar.xml b/reportdesign/uiconfig/dbreport/statusbar/statusbar.xml
index 74a549121c91..7e50780b633d 100644
--- a/reportdesign/uiconfig/dbreport/statusbar/statusbar.xml
+++ b/reportdesign/uiconfig/dbreport/statusbar/statusbar.xml
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE statusbar:statusbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "statusbar.dtd">
<statusbar:statusbar xmlns:statusbar="http://openoffice.org/2001/statusbar" xmlns:xlink="http://www.w3.org/1999/xlink">
- <statusbar:statusbaritem xlink:href=".uno:ReportStatusDummy" statusbar:align="center" statusbar:ownerdraw="true" statusbar:autosize="true"/>
+ <statusbar:statusbaritem xlink:href=".uno:ZoomSlider" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="130" statusbar:helpid="helpid:11065"/>
+ <statusbar:statusbaritem xlink:href=".uno:Zoom" statusbar:align="center" statusbar:width="35" statusbar:helpid="helpid:10000"/>
</statusbar:statusbar>
diff --git a/reportdesign/util/description.xml b/reportdesign/util/description.xml
index a7f78e8b6e6a..e93c239d67d1 100644
--- a/reportdesign/util/description.xml
+++ b/reportdesign/util/description.xml
@@ -1,22 +1,27 @@
-<?xml version="1.0" encoding="utf-8"?>
-<description xmlns="http://openoffice.org/extensions/description/2006"
- xmlns:d="http://openoffice.org/extensions/description/2006"
- xmlns:xlink="http://www.w3.org/1999/xlink">
- <display-name>
- <name lang="en-US">Sun™ Report Builder</name>
- <!-- <name lang="en-US">Sun(TM) Report Builder</name> -->
- </display-name>
- <registration>
- <simple-license accept-by="admin" default-license-id="en-US" >
- <license-text xlink:href="licensefile" lang="isocode" license-id="lic-isocode"/>
- </simple-license>
- </registration>
- <version value="1.0.6"/>
- <identifier value="com.sun.reportdesigner"/>
- <dependencies>
- <OpenOffice.org-minimal-version value="3.0" d:name="OpenOffice.org 3.0"/>
- </dependencies>
- <publisher>
- <name xlink:href="http://www.sun.com/staroffice" lang="en">Sun Microsystems, Inc.</name>
- </publisher>
-</description>
+<?xml version="1.0" encoding="utf-8"?>
+<description xmlns="http://openoffice.org/extensions/description/2006"
+ xmlns:d="http://openoffice.org/extensions/description/2006"
+ xmlns:xlink="http://www.w3.org/1999/xlink">
+ <display-name>
+ <name lang="en-US">Sun™ Report Builder</name>
+ <!-- <name lang="en-US">Sun(TM) Report Builder</name> -->
+ </display-name>
+ <registration>
+ <simple-license accept-by="admin" default-license-id="en-US" >
+ <license-text xlink:href="licensefile" lang="isocode" license-id="lic-isocode"/>
+ </simple-license>
+ </registration>
+ <version value="#VERSION#"/>
+ <identifier value="com.sun.reportdesigner"/>
+ <dependencies>
+ <OpenOffice.org-minimal-version value="3.1" d:name="OpenOffice.org 3.1"/>
+ </dependencies>
+ <publisher>
+ <name xlink:href="http://www.sun.com/software/star/staroffice/extensions.jsp?cid=925095" lang="en">Sun Microsystems, Inc.</name>
+ </publisher>
+ <icon>
+ <default xlink:href="images/em42.png" />
+ <high-contrast xlink:href="images/em42_hc.png" />
+ </icon>
+</description>
+
diff --git a/reportdesign/util/makefile.mk b/reportdesign/util/makefile.mk
index c1b5c2fd3bac..293fb8691873 100644
--- a/reportdesign/util/makefile.mk
+++ b/reportdesign/util/makefile.mk
@@ -8,7 +8,7 @@
#
# $RCSfile: makefile.mk,v $
#
-# $Revision: 1.21 $
+# $Revision: 1.21.2.2 $
#
# This file is part of OpenOffice.org.
#
@@ -37,6 +37,13 @@ TARGET2=$(TARGET)ui
GEN_HID=TRUE
GEN_HID_OTHER=TRUE
+EXTENSION_VERSION_BASE=1.0.9
+.IF "$(PRODUCT)" != ""
+ EXTENSION_VERSION=$(EXTENSION_VERSION_BASE)
+.ELSE
+ EXTENSION_VERSION=$(EXTENSION_VERSION_BASE).$(BUILD)
+.ENDIF
+
# --- Settings ----------------------------------
.INCLUDE : makefile.pmk
@@ -202,8 +209,12 @@ DEF3NAME=$(SHL3TARGET)
.IF "$(SOLAR_JAVA)"!=""
-XMLFILES = $(EXTENSIONDIR)$/description.xml \
- $(EXTENSIONDIR)$/META-INF$/manifest.xml
+XMLFILES = $(EXTENSIONDIR)$/META-INF$/manifest.xml
+
+# DESCRIPTION_SRC is the source file which is copied into the extension
+# It is defaulted to "descriptio.xml", but we want to pre-process it, so we use an intermediate
+# file
+DESCRIPTION_SRC = $(MISC)$/description.xml
COMPONENT_MERGED_XCU= \
$(EXTENSIONDIR)$/registry$/data$/org$/openoffice$/Setup.xcu \
@@ -223,6 +234,10 @@ COMPONENT_MERGED_XCU= \
COMPONENT_OTR_FILES= \
$(EXTENSIONDIR)$/template$/en-US$/wizard$/report$/default.otr
+
+COMPONENT_IMAGES= \
+ $(EXTENSIONDIR)$/images$/em42.png \
+ $(EXTENSIONDIR)$/images$/em42_hc.png
COMPONENT_HTMLFILES = $(EXTENSIONDIR)$/THIRDPARTYREADMELICENSE.html \
$(EXTENSIONDIR)$/readme_en-US.html \
@@ -254,7 +269,7 @@ COMPONENT_MANIFEST_GENERIC:=TRUE
COMPONENT_MANIFEST_SEARCHDIR:=registry
# make sure to add your custom files here
-EXTENSION_PACKDEPS=$(COMPONENT_EXTJARFILES) $(COMPONENT_HTMLFILES) $(COMPONENT_OTR_FILES) $(COMPONENT_HELP)
+EXTENSION_PACKDEPS=$(COMPONENT_EXTJARFILES) $(COMPONENT_HTMLFILES) $(COMPONENT_OTR_FILES) $(COMPONENT_HELP) $(COMPONENT_IMAGES)
# --- Targets ----------------------------------
@@ -316,6 +331,10 @@ $(EXTENSIONDIR)$/readme_en-US.% : $(PRJ)$/license$/readme_en-US.%
@@-$(MKDIRHIER) $(@:d)
$(COPY) $< $@
+$(EXTENSIONDIR)$/images$/%.png : $(PRJ)$/images$/%.png
+ @@-$(MKDIRHIER) $(@:d)
+ $(COPY) $< $@
+
$(EXTENSIONDIR)$/THIRDPARTYREADMELICENSE.html : $(PRJ)$/license$/THIRDPARTYREADMELICENSE.html
@@-$(MKDIRHIER) $(@:d)
$(COPY) $< $@
@@ -324,6 +343,9 @@ $(COMPONENT_HELP) : $$(@:f)
@@-$(MKDIRHIER) $(@:d)
$(COPY) $< $@
+$(DESCRIPTION_SRC): description.xml
+ $(TYPE) description.xml | $(SED) s/#VERSION#/$(EXTENSION_VERSION)/> $@
+
.ELSE # "$(SOLAR_JAVA)"!=""
.INCLUDE : target.mk
.ENDIF # "$(SOLAR_JAVA)"!=""