1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
11  *   Licensed to the Apache Software Foundation (ASF) under one or more
12  *   contributor license agreements. See the NOTICE file distributed
13  *   with this work for additional information regarding copyright
14  *   ownership. The ASF licenses this file to you under the Apache
15  *   License, Version 2.0 (the "License"); you may not use this file
16  *   except in compliance with the License. You may obtain a copy of
17  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
18  */
19 
20 #pragma once
21 
22 #include <com/sun/star/form/FormComponentType.hpp>
23 
24 enum SdrObjKind
25 {
26     OBJ_NONE = 0, /// abstract object (SdrObject)
27     OBJ_GRUP = 1, /// object group
28     OBJ_LINE = 2, /// line
29     OBJ_RECT = 3, /// rectangle (round corners optional)
30     OBJ_CIRC = 4, /// circle, ellipse
31     OBJ_SECT = 5, /// circle section
32     OBJ_CARC = 6, /// circle arc
33     OBJ_CCUT = 7, /// circle cut
34     OBJ_POLY = 8, /// polygon, PolyPolygon
35     OBJ_PLIN = 9, /// PolyLine
36     OBJ_PATHLINE = 10, /// open Bezier-curve
37     OBJ_PATHFILL = 11, /// closed Bezier-curve
38     OBJ_FREELINE = 12, /// open free-hand line
39     OBJ_FREEFILL = 13, /// closed free-hand line
40     OBJ_SPLNLINE = 14, /// natural cubic Spline                  (ni)
41     OBJ_SPLNFILL = 15, /// periodic cubic Spline                 (ni)
42     OBJ_TEXT = 16, /// text object
43     OBJ_TITLETEXT = 20, /// TitleText, special text object for StarDraw
44     OBJ_OUTLINETEXT = 21, /// OutlineText, special text object for StarDraw
45     OBJ_GRAF = 22, /// foreign graphic (StarView Graphic)
46     OBJ_OLE2 = 23, /// OLE object
47     OBJ_EDGE = 24, /// connector object
48     OBJ_CAPTION = 25, /// caption object
49     OBJ_PATHPOLY = 26, /// Polygon/PolyPolygon represented by SdrPathObj
50     OBJ_PATHPLIN = 27, /// Polyline represented by SdrPathObj
51     OBJ_PAGE = 28, /// object that represents a SdrPage
52     OBJ_MEASURE = 29, /// measurement object
53     OBJ_FRAME = 31, /// continuously activated OLE (PlugIn-Frame or similar)
54     OBJ_UNO = 32, /// Universal Network Object packed into SvDraw object
55     OBJ_CUSTOMSHAPE = 33, /// custom shape
56     OBJ_MEDIA = 34, /// media shape
57     OBJ_TABLE = 35, /// table
58 
59     OBJ_OLE2_APPLET = 100,
60     OBJ_OLE2_PLUGIN = 101,
61 
62     // engine3d, arbitrarily place at 200
63     E3D_SCENE_ID = 202,
64     // E3D_OBJECT_ID should not be used, it's only a helper class for E3DScene and E3DCompoundObject
65     E3D_OBJECT_ID = 203,
66     E3D_CUBEOBJ_ID = 204,
67     E3D_SPHEREOBJ_ID = 205,
68     E3D_EXTRUDEOBJ_ID = 206,
69     E3D_LATHEOBJ_ID = 207,
70     E3D_COMPOUNDOBJ_ID = 208,
71     E3D_POLYGONOBJ_ID = 209,
72 
73     // for form components, arbitrarily place at 300
74     OBJ_FM_CONTROL = 300 + css::form::FormComponentType::CONTROL,
75     OBJ_FM_EDIT = 300 + css::form::FormComponentType::TEXTFIELD,
76     OBJ_FM_BUTTON = 300 + css::form::FormComponentType::COMMANDBUTTON,
77     OBJ_FM_FIXEDTEXT = 300 + css::form::FormComponentType::FIXEDTEXT,
78     OBJ_FM_LISTBOX = 300 + css::form::FormComponentType::LISTBOX,
79     OBJ_FM_CHECKBOX = 300 + css::form::FormComponentType::CHECKBOX,
80     OBJ_FM_COMBOBOX = 300 + css::form::FormComponentType::COMBOBOX,
81     OBJ_FM_RADIOBUTTON = 300 + css::form::FormComponentType::RADIOBUTTON,
82     OBJ_FM_GROUPBOX = 300 + css::form::FormComponentType::GROUPBOX,
83     OBJ_FM_GRID = 300 + css::form::FormComponentType::GRIDCONTROL,
84     OBJ_FM_IMAGEBUTTON = 300 + css::form::FormComponentType::IMAGEBUTTON,
85     OBJ_FM_FILECONTROL = 300 + css::form::FormComponentType::FILECONTROL,
86     OBJ_FM_DATEFIELD = 300 + css::form::FormComponentType::DATEFIELD,
87     OBJ_FM_TIMEFIELD = 300 + css::form::FormComponentType::TIMEFIELD,
88     OBJ_FM_NUMERICFIELD = 300 + css::form::FormComponentType::NUMERICFIELD,
89     OBJ_FM_CURRENCYFIELD = 300 + css::form::FormComponentType::CURRENCYFIELD,
90     OBJ_FM_PATTERNFIELD = 300 + css::form::FormComponentType::PATTERNFIELD,
91     OBJ_FM_HIDDEN = 300 + css::form::FormComponentType::HIDDENCONTROL,
92     OBJ_FM_IMAGECONTROL = 300 + css::form::FormComponentType::IMAGECONTROL,
93     OBJ_FM_FORMATTEDFIELD = 300 + css::form::FormComponentType::PATTERNFIELD + 1,
94     OBJ_FM_SCROLLBAR = 300 + css::form::FormComponentType::PATTERNFIELD + 2,
95     OBJ_FM_SPINBUTTON = 300 + css::form::FormComponentType::PATTERNFIELD + 3,
96     OBJ_FM_NAVIGATIONBAR = 300 + css::form::FormComponentType::PATTERNFIELD + 4,
97 
98     // basctl, arbitrarily place at 400
99     OBJ_DLG_CONTROL = 401,
100     OBJ_DLG_DIALOG = 402,
101     OBJ_DLG_PUSHBUTTON = 403,
102     OBJ_DLG_RADIOBUTTON = 404,
103     OBJ_DLG_CHECKBOX = 405,
104     OBJ_DLG_LISTBOX = 406,
105     OBJ_DLG_COMBOBOX = 407,
106     OBJ_DLG_GROUPBOX = 408,
107     OBJ_DLG_EDIT = 409,
108     OBJ_DLG_FIXEDTEXT = 410,
109     OBJ_DLG_IMAGECONTROL = 411,
110     OBJ_DLG_PROGRESSBAR = 412,
111     OBJ_DLG_HSCROLLBAR = 413,
112     OBJ_DLG_VSCROLLBAR = 414,
113     OBJ_DLG_HFIXEDLINE = 415,
114     OBJ_DLG_VFIXEDLINE = 416,
115     OBJ_DLG_DATEFIELD = 417,
116     OBJ_DLG_TIMEFIELD = 418,
117     OBJ_DLG_NUMERICFIELD = 419,
118     OBJ_DLG_CURRENCYFIELD = 420,
119     OBJ_DLG_FORMATTEDFIELD = 421,
120     OBJ_DLG_PATTERNFIELD = 422,
121     OBJ_DLG_FILECONTROL = 423,
122     OBJ_DLG_TREECONTROL = 424,
123     OBJ_DLG_SPINBUTTON = 425,
124     OBJ_DLG_GRIDCONTROL = 426,
125     OBJ_DLG_HYPERLINKCONTROL = 427,
126 
127     OBJ_DLG_FORMRADIO = 428,
128     OBJ_DLG_FORMCHECK = 429,
129     OBJ_DLG_FORMLIST = 430,
130     OBJ_DLG_FORMCOMBO = 431,
131     OBJ_DLG_FORMSPIN = 432,
132     OBJ_DLG_FORMVSCROLL = 433,
133     OBJ_DLG_FORMHSCROLL = 434,
134 
135     // reportdesign, arbitrarily place at 500
136     OBJ_RD_FIXEDTEXT = 501,
137     OBJ_RD_IMAGECONTROL = 502,
138     OBJ_RD_FORMATTEDFIELD = 503,
139     OBJ_RD_HFIXEDLINE = 504,
140     OBJ_RD_VFIXEDLINE = 505,
141     OBJ_RD_SUBREPORT = 506,
142 
143     // writer, arbitrarily place at 600
144     SwFlyDrawObjIdentifier = 601
145 };
146 
147 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
148