summaryrefslogtreecommitdiffstats
path: root/include/svx/svdobjkind.hxx
blob: d25eba0a00278232838bb5f423b14f6c4def4016 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   Licensed to the Apache Software Foundation (ASF) under one or more
 *   contributor license agreements. See the NOTICE file distributed
 *   with this work for additional information regarding copyright
 *   ownership. The ASF licenses this file to you under the Apache
 *   License, Version 2.0 (the "License"); you may not use this file
 *   except in compliance with the License. You may obtain a copy of
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 */

#pragma once

#include <com/sun/star/form/FormComponentType.hpp>

enum class SdrObjKind : sal_uInt16
{
    NONE = 0, /// abstract object (SdrObject)
    Group = 1, /// object group
    Line = 2, /// line
    Rectangle = 3, /// rectangle (round corners optional)
    CircleOrEllipse = 4, /// circle, ellipse
    CircleSection = 5, /// circle section
    CircleArc = 6, /// circle arc
    CircleCut = 7, /// circle cut
    Polygon = 8, /// polygon, PolyPolygon
    PolyLine = 9, /// PolyLine
    PathLine = 10, /// open Bezier-curve
    PathFill = 11, /// closed Bezier-curve
    FreehandLine = 12, /// open free-hand line
    FreehandFill = 13, /// closed free-hand line
    Text = 16, /// text object
    TitleText = 20, /// TitleText, special text object for StarDraw
    OutlineText = 21, /// OutlineText, special text object for StarDraw
    Graphic = 22, /// foreign graphic (StarView Graphic)
    OLE2 = 23, /// OLE object
    Edge = 24, /// connector object
    Caption = 25, /// caption object
    PathPoly = 26, /// Polygon/PolyPolygon represented by SdrPathObj
    PathPolyLine = 27, /// Polyline represented by SdrPathObj
    Page = 28, /// object that represents a SdrPage
    Measure = 29, /// measurement object
    OLEPluginFrame = 31, /// continuously activated OLE (PlugIn-Frame or similar)
    UNO = 32, /// Universal Network Object packed into SvDraw object
    CustomShape = 33, /// custom shape
    Media = 34, /// media shape
    Table = 35, /// table

    OLE2Applet = 100,
    OLE2Plugin = 101,

    // engine3d, arbitrarily place at 200
    E3D_Scene = 202,
    // E3D_OBJECT_ID should not be used, it's only a helper class for E3DScene and E3DCompoundObject
    E3D_Object = 203,
    E3D_Cube = 204,
    E3D_Sphere = 205,
    E3D_Extrusion = 206,
    E3D_Lathe = 207,
    E3D_CompoundObject = 208,
    E3D_Polygon = 209,
    E3D_INVENTOR_FIRST = E3D_Scene,
    E3D_INVENTOR_LAST = E3D_Polygon,

    // for form components, arbitrarily place at 300
    FormControl = 300 + css::form::FormComponentType::CONTROL,
    FormEdit = 300 + css::form::FormComponentType::TEXTFIELD,
    FormButton = 300 + css::form::FormComponentType::COMMANDBUTTON,
    FormFixedText = 300 + css::form::FormComponentType::FIXEDTEXT,
    FormListbox = 300 + css::form::FormComponentType::LISTBOX,
    FormCheckbox = 300 + css::form::FormComponentType::CHECKBOX,
    FormCombobox = 300 + css::form::FormComponentType::COMBOBOX,
    FormRadioButton = 300 + css::form::FormComponentType::RADIOBUTTON,
    FormGroupBox = 300 + css::form::FormComponentType::GROUPBOX,
    FormGrid = 300 + css::form::FormComponentType::GRIDCONTROL,
    FormImageButton = 300 + css::form::FormComponentType::IMAGEBUTTON,
    FormFileControl = 300 + css::form::FormComponentType::FILECONTROL,
    FormDateField = 300 + css::form::FormComponentType::DATEFIELD,
    FormTimeField = 300 + css::form::FormComponentType::TIMEFIELD,
    FormNumericField = 300 + css::form::FormComponentType::NUMERICFIELD,
    FormCurrencyField = 300 + css::form::FormComponentType::CURRENCYFIELD,
    FormPatternField = 300 + css::form::FormComponentType::PATTERNFIELD,
    FormHidden = 300 + css::form::FormComponentType::HIDDENCONTROL,
    FormImageControl = 300 + css::form::FormComponentType::IMAGECONTROL,
    FormFormattedField = 300 + css::form::FormComponentType::PATTERNFIELD + 1,
    FormScrollbar = 300 + css::form::FormComponentType::PATTERNFIELD + 2,
    FormSpinButton = 300 + css::form::FormComponentType::PATTERNFIELD + 3,
    FormNavigationBar = 300 + css::form::FormComponentType::PATTERNFIELD + 4,

    // basctl, arbitrarily place at 400
    BasicDialogControl = 401,
    BasicDialogDialog = 402,
    BasicDialogPushButton = 403,
    BasicDialogRadioButton = 404,
    BasicDialogCheckbox = 405,
    BasicDialogListbox = 406,
    BasicDialogCombobox = 407,
    BasicDialogGroupBox = 408,
    BasicDialogEdit = 409,
    BasicDialogFixedText = 410,
    BasicDialogImageControl = 411,
    BasicDialogProgressbar = 412,
    BasicDialogHorizontalScrollbar = 413,
    BasicDialogVerticalScrollbar = 414,
    BasicDialogHorizontalFixedLine = 415,
    BasicDialogVerticalFixedLine = 416,
    BasicDialogDateField = 417,
    BasicDialogTimeField = 418,
    BasicDialogNumericField = 419,
    BasicDialogCurencyField = 420,
    BasicDialogFormattedField = 421,
    BasicDialogPatternField = 422,
    BasicDialogFileControl = 423,
    BasicDialogTreeControl = 424,
    BasicDialogSpinButton = 425,
    BasicDialogGridControl = 426,
    BasicDialogHyperlinkControl = 427,

    BasicDialogFormRadio = 428,
    BasicDialogFormCheck = 429,
    BasicDialogFormList = 430,
    BasicDialogFormCombo = 431,
    BasicDialogFormSpin = 432,
    BasicDialogFormVerticalScroll = 433,
    BasicDialogFormHorizontalScroll = 434,

    // reportdesign, arbitrarily place at 500
    ReportDesignFixedText = 501,
    ReportDesignImageControl = 502,
    ReportDesignFormattedField = 503,
    ReportDesignHorizontalFixedLine = 504,
    ReportDesignVerticalFixedLine = 505,
    ReportDesignSubReport = 506,

    // writer, arbitrarily place at 600
    SwFlyDrawObjIdentifier = 601,
    NewFrame = 602
};

inline constexpr bool IsInventorE3D(SdrObjKind e)
{
    return e >= SdrObjKind::E3D_INVENTOR_FIRST && e <= SdrObjKind::E3D_INVENTOR_LAST;
}

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */