openoffice-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From arie...@apache.org
Subject svn commit: r1417849 - in /openoffice/trunk/main/offapi/com/sun/star/ui: XStatusbarItem.idl makefile.mk
Date Thu, 06 Dec 2012 13:28:32 GMT
Author: arielch
Date: Thu Dec  6 13:28:31 2012
New Revision: 1417849

URL: http://svn.apache.org/viewvc?rev=1417849&view=rev
Log:
#i121442# - API wrapping StatusBar functionality

In the current implementation and its API design, it is impossible to
implement a StatusbarController in UNO, because there is no way in UNO
for the controller to manipulate its status bar item; the current
implementation of UNO based StatusbarController have to access directly
the VCL StatusBar through the AWT XWindow in order to manipulate its
item.

Designing an API that wraps the VCL StatusBar does not make sense: a
StatusbarController should only have access to the status bar item it
controls, not the whole status bar. Therefore this new interface
represents only the functionality of an item in a status bar, to be
controlled by a StatusbarController.

Added:
    openoffice/trunk/main/offapi/com/sun/star/ui/XStatusbarItem.idl
Modified:
    openoffice/trunk/main/offapi/com/sun/star/ui/makefile.mk

Added: openoffice/trunk/main/offapi/com/sun/star/ui/XStatusbarItem.idl
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/offapi/com/sun/star/ui/XStatusbarItem.idl?rev=1417849&view=auto
==============================================================================
--- openoffice/trunk/main/offapi/com/sun/star/ui/XStatusbarItem.idl (added)
+++ openoffice/trunk/main/offapi/com/sun/star/ui/XStatusbarItem.idl Thu Dec  6 13:28:31 2012
@@ -0,0 +1,114 @@
+/**************************************************************
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ *************************************************************/
+
+#ifndef __com_sun_star_ui_XStatusbarItem_idl__
+#define __com_sun_star_ui_XStatusbarItem_idl__
+
+#include <com/sun/star/awt/Rectangle.idl>
+
+module com {  module sun {  module star {  module ui {
+
+/** Represents an item in a status bar
+
+    @see <type scope="com::sun::star::frame">XStatusbarController</type>
+
+    @since Apache OpenOffice 3.5
+*/
+interface XStatusbarItem
+{
+    /** the command of the status bar item
+     */
+    [attribute, readonly] string Command;
+
+    /** the unique ID of the control within the status bar
+     */
+    [attribute, readonly] unsigned short ItemId;
+
+    /** the width of the status bar item
+     */
+    [attribute, readonly] unsigned long Width;
+
+    /** the style of the status bar item
+
+        <p>The following values apply for a status bar item:</p>
+        <ul>
+            <li>Alignment
+                <ul>
+                    <li><member scope="com::sun::star::ui">ItemStyle::ALIGN_LEFT</member></li>
+                    <li><member scope="com::sun::star::ui">ItemStyle::ALIGN_CENTER</member></li>
+                    <li><member scope="com::sun::star::ui">ItemStyle::ALIGN_RIGHT</member></li>
+                </ul>
+            </li>
+            <li>Drawing
+                <ul>
+                    <li><member scope="com::sun::star::ui">ItemStyle::DRAW_OUT3D</member></li>
+                    <li><member scope="com::sun::star::ui">ItemStyle::DRAW_IN3D</member></li>
+                    <li><member scope="com::sun::star::ui">ItemStyle::DRAW_FLAT</member></li>
+                </ul>
+            </li>
+            <li><member scope="com::sun::star::ui">ItemStyle::AUTO_SIZE</member></li>
+            <li><member scope="com::sun::star::ui">ItemStyle::OWNER_DRAW</member></li>
+        </ul>
+
+        @see <type scope="com::sun::star::ui">ItemStyle</type>
+     */
+    [attribute, readonly] unsigned short Style;
+
+    /** the offset between this status bar item and the following
+     */
+    [attribute, readonly] long Offset;
+
+    /** the rectangle on the status bar device onto which the item is drawn
+
+        @see <member scope="com::sun::star::frame">XStatusbarController::paint()</member>
+     */
+    [attribute, readonly] com::sun::star::awt::Rectangle ItemRect;
+
+    /** the text of status bar item
+     */
+    [attribute] string Text;
+
+    /** the help text of the status bar item when extended help tips are on
+     */
+    [attribute] string HelpText;
+
+    /** the help text of the status bar item when help tips are on
+     */
+    [attribute] string QuickHelpText;
+
+    /** the accesible name of the status bar item
+     */
+    [attribute] string AccessibleName;
+
+    /** whether the item is visible or not
+     */
+    [attribute] boolean Visible;
+
+    /** forces repainting the item onto the status bar device
+
+        @see <member scope="com::sun::star::frame">XStatusbarController::paint()</member>
+     */
+    void repaint();
+};
+
+}; }; }; };
+
+#endif

Modified: openoffice/trunk/main/offapi/com/sun/star/ui/makefile.mk
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/offapi/com/sun/star/ui/makefile.mk?rev=1417849&r1=1417848&r2=1417849&view=diff
==============================================================================
--- openoffice/trunk/main/offapi/com/sun/star/ui/makefile.mk (original)
+++ openoffice/trunk/main/offapi/com/sun/star/ui/makefile.mk Thu Dec  6 13:28:31 2012
@@ -70,6 +70,7 @@ IDLFILES=\
     XImageManager.idl                           \
     XModuleUIConfigurationManager.idl           \
     XModuleUIConfigurationManagerSupplier.idl   \
+    XStatusbarItem.idl                          \
     XUIConfiguration.idl                        \
     XUIConfigurationListener.idl                \
     XUIConfigurationManager.idl                 \



Mime
View raw message