tecscde 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +12 -0
- data/.rubocop.yml +125 -0
- data/.rubocop_todo.yml +188 -0
- data/CHANGELOG.md +3 -0
- data/Gemfile +6 -0
- data/LICENSE +46 -0
- data/LICENSE.ja +32 -0
- data/README.ja.md +200 -0
- data/README.md +35 -0
- data/Rakefile +27 -0
- data/bin/tecscde +64 -0
- data/glade/tecscde-cell-property.glade +205 -0
- data/glade/tecscde-celltype-property.glade +172 -0
- data/glade/tecscde-celltype.glade +414 -0
- data/glade/tecscde-export.glade +161 -0
- data/glade/test-cell-plugin.rb +51 -0
- data/glade/test-cell-property.rb +35 -0
- data/glade/test-export.rb +35 -0
- data/glade/test-palette.rb +26 -0
- data/lib/tcflow.rb +148 -0
- data/lib/tecscde.rb +65 -0
- data/lib/tecscde/NewCell.png +0 -0
- data/lib/tecscde/SelectArrow.png +0 -0
- data/lib/tecscde/attr_tree_view.rb +253 -0
- data/lib/tecscde/cell_plugin_dialog.glade +294 -0
- data/lib/tecscde/cell_plugin_dialog.rb +89 -0
- data/lib/tecscde/celltype_tree_view.rb +105 -0
- data/lib/tecscde/change_set_control.rb +35 -0
- data/lib/tecscde/change_set_control/change_set.rb +32 -0
- data/lib/tecscde/change_set_control/change_set_manager.rb +62 -0
- data/lib/tecscde/command.rb +35 -0
- data/lib/tecscde/control.rb +491 -0
- data/lib/tecscde/highlighted_objects.rb +180 -0
- data/lib/tecscde/logger.rb +74 -0
- data/lib/tecscde/main_view_and_model.rb +80 -0
- data/lib/tecscde/palette.glade +553 -0
- data/lib/tecscde/palette.rb +174 -0
- data/lib/tecscde/preferences.glade +117 -0
- data/lib/tecscde/preferences.rb +44 -0
- data/lib/tecscde/tecs_model.rb +1137 -0
- data/lib/tecscde/tecs_model/hbar.rb +68 -0
- data/lib/tecscde/tecs_model/tm_c_port.rb +122 -0
- data/lib/tecscde/tecs_model/tm_c_port_array.rb +98 -0
- data/lib/tecscde/tecs_model/tm_cell.rb +496 -0
- data/lib/tecscde/tecs_model/tm_e_port.rb +126 -0
- data/lib/tecscde/tecs_model/tm_e_port_array.rb +78 -0
- data/lib/tecscde/tecs_model/tm_join.rb +293 -0
- data/lib/tecscde/tecs_model/tm_join_bar.rb +146 -0
- data/lib/tecscde/tecs_model/tm_port.rb +238 -0
- data/lib/tecscde/tecs_model/tm_port_array.rb +246 -0
- data/lib/tecscde/tecs_model/tm_region.rb +107 -0
- data/lib/tecscde/tecs_model/tm_uneditable.rb +68 -0
- data/lib/tecscde/tecs_model/vbar.rb +68 -0
- data/lib/tecscde/templates/_cell_info.cde.erb +15 -0
- data/lib/tecscde/templates/_join_info.cde.erb +28 -0
- data/lib/tecscde/templates/main.cde.erb +49 -0
- data/lib/tecscde/tm_object.rb +91 -0
- data/lib/tecscde/version.rb +4 -0
- data/lib/tecscde/view.rb +58 -0
- data/lib/tecscde/view/cairo_matrix.rb +90 -0
- data/lib/tecscde/view/canvas.rb +59 -0
- data/lib/tecscde/view/constants.rb +114 -0
- data/lib/tecscde/view/main_view.rb +1245 -0
- data/lib/tecsflow.rb +475 -0
- data/lib/tecsflow/C_parser.tab.rb +2471 -0
- data/lib/tecsflow/C_parser.y.rb +1087 -0
- data/lib/tecsflow/classes.rb +421 -0
- data/lib/tecsgen.rb +581 -0
- data/lib/tecsgen/core/C_parser.tab.rb +2477 -0
- data/lib/tecsgen/core/C_parser.y +1032 -0
- data/lib/tecsgen/core/bnf-deb.tab.rb +5193 -0
- data/lib/tecsgen/core/bnf.tab.rb +5193 -0
- data/lib/tecsgen/core/bnf.y +2211 -0
- data/lib/tecsgen/core/componentobj.rb +7901 -0
- data/lib/tecsgen/core/ctypes.rb +226 -0
- data/lib/tecsgen/core/expression.rb +1031 -0
- data/lib/tecsgen/core/gen_xml.rb +374 -0
- data/lib/tecsgen/core/generate.rb +5206 -0
- data/lib/tecsgen/core/location.rb +116 -0
- data/lib/tecsgen/core/messages.rb +101 -0
- data/lib/tecsgen/core/optimize.rb +456 -0
- data/lib/tecsgen/core/plugin.rb +332 -0
- data/lib/tecsgen/core/pluginModule.rb +165 -0
- data/lib/tecsgen/core/syntaxobj.rb +1234 -0
- data/lib/tecsgen/core/tecs_lang.rb +306 -0
- data/lib/tecsgen/core/tecsgen.rb +453 -0
- data/lib/tecsgen/core/tecsinfo.rb +860 -0
- data/lib/tecsgen/core/tool_info.rb +258 -0
- data/lib/tecsgen/core/types.rb +1632 -0
- data/lib/tecsgen/core/unjoin_plugin.rb +218 -0
- data/lib/tecsgen/core/value.rb +650 -0
- data/lib/tecsgen/messages/messages_console_en_US.rb +1171 -0
- data/lib/tecsgen/messages/messages_console_ja_JP.rb +1171 -0
- data/lib/tecsgen/messages/messages_file_en_US.rb +334 -0
- data/lib/tecsgen/messages/messages_file_ja_JP.rb +163 -0
- data/lib/tecsgen/plugin/ATK1AlarmPlugin.rb +196 -0
- data/lib/tecsgen/plugin/ATK1DelayTaskPlugin.rb +106 -0
- data/lib/tecsgen/plugin/ATK1EventPlugin.rb +147 -0
- data/lib/tecsgen/plugin/ATK1ISRPlugin.rb +174 -0
- data/lib/tecsgen/plugin/ATK1KernelPlugin.rb +287 -0
- data/lib/tecsgen/plugin/ATK1ResourcePlugin.rb +124 -0
- data/lib/tecsgen/plugin/ATK1TaskPlugin.rb +220 -0
- data/lib/tecsgen/plugin/C2TECSBridgePlugin.rb +210 -0
- data/lib/tecsgen/plugin/CellPlugin.rb +61 -0
- data/lib/tecsgen/plugin/CelltypePlugin.rb +72 -0
- data/lib/tecsgen/plugin/CompositePlugin.rb +66 -0
- data/lib/tecsgen/plugin/DomainPlugin.rb +89 -0
- data/lib/tecsgen/plugin/HRP2AlarmHandlerPlugin.rb +76 -0
- data/lib/tecsgen/plugin/HRP2Cache.rb +1 -0
- data/lib/tecsgen/plugin/HRP2CyclicHandlerPlugin.rb +75 -0
- data/lib/tecsgen/plugin/HRP2DataqueuePlugin.rb +68 -0
- data/lib/tecsgen/plugin/HRP2EventflagPlugin.rb +68 -0
- data/lib/tecsgen/plugin/HRP2FixedSizeMemoryPoolPlugin.rb +68 -0
- data/lib/tecsgen/plugin/HRP2HandlerPlugin.rb +117 -0
- data/lib/tecsgen/plugin/HRP2KernelObjectPlugin.rb +372 -0
- data/lib/tecsgen/plugin/HRP2ObjectPlugin.rb +94 -0
- data/lib/tecsgen/plugin/HRP2Plugin.rb +140 -0
- data/lib/tecsgen/plugin/HRP2PostHook.rb +111 -0
- data/lib/tecsgen/plugin/HRP2PriorityDataqueuePlugin.rb +66 -0
- data/lib/tecsgen/plugin/HRP2RPCPlugin.rb +319 -0
- data/lib/tecsgen/plugin/HRP2SVCPlugin.rb +473 -0
- data/lib/tecsgen/plugin/HRP2SemaphorePlugin.rb +67 -0
- data/lib/tecsgen/plugin/HRP2TaskPlugin.rb +200 -0
- data/lib/tecsgen/plugin/HRPHandlerPlugin.rb +125 -0
- data/lib/tecsgen/plugin/HRPKernelObjectManager.rb +72 -0
- data/lib/tecsgen/plugin/HRPKernelObjectPlugin.rb +333 -0
- data/lib/tecsgen/plugin/HRPObjectPlugin.rb +93 -0
- data/lib/tecsgen/plugin/HRPPlugin.rb +356 -0
- data/lib/tecsgen/plugin/HRPRPCPlugin.rb +407 -0
- data/lib/tecsgen/plugin/HRPSVCPlugin.rb +859 -0
- data/lib/tecsgen/plugin/HRPTaskPlugin.rb +107 -0
- data/lib/tecsgen/plugin/Mruby2CBridgePlugin.rb +86 -0
- data/lib/tecsgen/plugin/MrubyBridgeCellPlugin.rb +264 -0
- data/lib/tecsgen/plugin/MrubyBridgeCelltypePlugin.rb +293 -0
- data/lib/tecsgen/plugin/MrubyBridgeCompositePlugin.rb +49 -0
- data/lib/tecsgen/plugin/MrubyBridgePlugin.rb +67 -0
- data/lib/tecsgen/plugin/MrubyBridgeSignaturePlugin.rb +1307 -0
- data/lib/tecsgen/plugin/MrubyInfoBridgePlugin.rb +14 -0
- data/lib/tecsgen/plugin/MrubyInfoBridgeSignaturePlugin.rb +994 -0
- data/lib/tecsgen/plugin/MultiPlugin.rb +57 -0
- data/lib/tecsgen/plugin/NotifierPlugin.rb +1217 -0
- data/lib/tecsgen/plugin/OpaqueMarshalerPlugin.rb +81 -0
- data/lib/tecsgen/plugin/OpaqueRPCPlugin.rb +323 -0
- data/lib/tecsgen/plugin/RPCPlugin.rb +266 -0
- data/lib/tecsgen/plugin/RepeatCellPlugin.rb +166 -0
- data/lib/tecsgen/plugin/RepeatJoinPlugin.rb +130 -0
- data/lib/tecsgen/plugin/SharedOpaqueRPCPlugin.rb +357 -0
- data/lib/tecsgen/plugin/SharedRPCPlugin.rb +329 -0
- data/lib/tecsgen/plugin/SignaturePlugin.rb +77 -0
- data/lib/tecsgen/plugin/TECS2CBridgePlugin.rb +178 -0
- data/lib/tecsgen/plugin/TECSInfoPlugin.rb +280 -0
- data/lib/tecsgen/plugin/ThroughPlugin.rb +333 -0
- data/lib/tecsgen/plugin/TracePlugin.rb +484 -0
- data/lib/tecsgen/plugin/lib/GenHRP2Marshaler.rb +761 -0
- data/lib/tecsgen/plugin/lib/GenOpaqueMarshaler.rb +1107 -0
- data/lib/tecsgen/plugin/lib/GenParamCopy.rb +365 -0
- data/lib/tecsgen/plugin/lib/GenTransparentMarshaler.rb +683 -0
- data/lib/tecsgen/plugin/lib/MrubyBridgeCelltypePluginModule.rb +283 -0
- data/lib/tecsgen/plugin/lib/MrubyBridgeSignaturePluginModule.rb +277 -0
- data/lib/tecsgen/version.rb +6 -0
- data/samples/FigureSamples/active/active.cde +104 -0
- data/samples/FigureSamples/active/active.cdl +20 -0
- data/samples/FigureSamples/active/active.pdf +0 -0
- data/samples/FigureSamples/active/active.png +0 -0
- data/samples/FigureSamples/active/gen/tmp_C_src.c +36 -0
- data/samples/FigureSamples/active/gen/tmp_cygwin_tecs.h +1908 -0
- data/samples/FigureSamples/active/gen/tmp_plugin_post_code.cdl +0 -0
- data/samples/FigureSamples/allocator/allocator-internal.png +0 -0
- data/samples/FigureSamples/allocator/allocator.cde +171 -0
- data/samples/FigureSamples/allocator/allocator.cdl +58 -0
- data/samples/FigureSamples/allocator/allocator.png +0 -0
- data/samples/FigureSamples/basic/Makefile +87 -0
- data/samples/FigureSamples/basic/SimpleSample-trace.cdl +50 -0
- data/samples/FigureSamples/basic/SimpleSample.cde +91 -0
- data/samples/FigureSamples/basic/SimpleSample.cdl +47 -0
- data/samples/FigureSamples/basic/basic.cde +93 -0
- data/samples/FigureSamples/basic/basic.cdl +46 -0
- data/samples/FigureSamples/basic/basic.png +0 -0
- data/samples/FigureSamples/callback/callback.cde +130 -0
- data/samples/FigureSamples/callback/callback.cdl +29 -0
- data/samples/FigureSamples/callback/callback.png +0 -0
- data/samples/FigureSamples/carray/carray.cde +144 -0
- data/samples/FigureSamples/carray/carray.cdl +38 -0
- data/samples/FigureSamples/carray/carray.png +0 -0
- data/samples/FigureSamples/cearray/cearray.cde +314 -0
- data/samples/FigureSamples/cearray/cearray.cdl +60 -0
- data/samples/FigureSamples/cearray/cearray.png +0 -0
- data/samples/FigureSamples/composite/composite-internal.png +0 -0
- data/samples/FigureSamples/composite/composite.cde +216 -0
- data/samples/FigureSamples/composite/composite.cdl +95 -0
- data/samples/FigureSamples/composite/composite.png +0 -0
- data/samples/FigureSamples/earray/earray.cde +142 -0
- data/samples/FigureSamples/earray/earray.cdl +38 -0
- data/samples/FigureSamples/earray/earray.png +0 -0
- data/samples/FigureSamples/join/Makefile +87 -0
- data/samples/FigureSamples/join/join.cde +132 -0
- data/samples/FigureSamples/join/join.cdl +40 -0
- data/samples/FigureSamples/join/join.png +0 -0
- data/samples/FigureSamples/relay/Makefile +99 -0
- data/samples/FigureSamples/relay/relay-internal.png +0 -0
- data/samples/FigureSamples/relay/relay.cde +284 -0
- data/samples/FigureSamples/relay/relay.cdl +52 -0
- data/samples/FigureSamples/relay/relay.png +0 -0
- data/samples/FigureSamples/rpc/Makefile +123 -0
- data/samples/FigureSamples/rpc/rpc-expand.png +0 -0
- data/samples/FigureSamples/rpc/rpc.cde +245 -0
- data/samples/FigureSamples/rpc/rpc.png +0 -0
- data/samples/FigureSamples/rpc/rpc_sample.cdl +53 -0
- data/samples/SimpleSample/Makefile +25 -0
- data/samples/SimpleSample/SimpleSample/Makefile +86 -0
- data/samples/SimpleSample/SimpleSample/Makefile-trace +91 -0
- data/samples/SimpleSample/SimpleSample/README.txt +106 -0
- data/samples/SimpleSample/SimpleSample/SimpleSample-trace.cdl +50 -0
- data/samples/SimpleSample/SimpleSample/SimpleSample.cdl +45 -0
- data/samples/SimpleSample/SimpleSample/src/tSample.c +77 -0
- data/samples/SimpleSample/SimpleSample/src/tSimple.c +48 -0
- data/samples/SimpleSample/SimpleSample/src/tecs-types.h +27 -0
- data/samples/SimpleSample/SimpleSampleOpaqueRPC/Makefile +51 -0
- data/samples/SimpleSample/SimpleSampleOpaqueRPC/Makefile-trace +91 -0
- data/samples/SimpleSample/SimpleSampleOpaqueRPC/README.txt +106 -0
- data/samples/SimpleSample/SimpleSampleOpaqueRPC/SimpleSample-trace.cdl +80 -0
- data/samples/SimpleSample/SimpleSampleOpaqueRPC/SimpleSample.cdl +77 -0
- data/samples/SimpleSample/SimpleSampleOpaqueRPC/rSample/Makefile +112 -0
- data/samples/SimpleSample/SimpleSampleOpaqueRPC/rSimple/Makefile +109 -0
- data/samples/SimpleSample/SimpleSampleOpaqueRPC/src/tSample.c +80 -0
- data/samples/SimpleSample/SimpleSampleOpaqueRPC/src/tSimple.c +47 -0
- data/samples/SimpleSample/SimpleSampleOpaqueRPC/src/tTaskMain.c +66 -0
- data/samples/SimpleSample/SimpleSampleOpaqueRPC/src/tecs-types.h +27 -0
- data/samples/SimpleSample/SimpleSampleTransparentRPC/Makefile +125 -0
- data/samples/SimpleSample/SimpleSampleTransparentRPC/Makefile-trace +130 -0
- data/samples/SimpleSample/SimpleSampleTransparentRPC/SimpleSample-trace.cdl +54 -0
- data/samples/SimpleSample/SimpleSampleTransparentRPC/SimpleSample.cdl +53 -0
- data/samples/SimpleSample/SimpleSampleTransparentRPC/src/tSample.c +80 -0
- data/samples/SimpleSample/SimpleSampleTransparentRPC/src/tSimple.c +54 -0
- data/tecscde.gemspec +41 -0
- metadata +353 -0
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
#
|
|
2
|
+
# TECSCDE - TECS Component Diagram Editor
|
|
3
|
+
#
|
|
4
|
+
# Copyright (C) 2014-2019 by TOPPERS Project
|
|
5
|
+
#
|
|
6
|
+
# The above copyright holders grant permission gratis to use,
|
|
7
|
+
# duplicate, modify, or redistribute (hereafter called use) this
|
|
8
|
+
# software (including the one made by modifying this software),
|
|
9
|
+
# provided that the following four conditions (1) through (4) are
|
|
10
|
+
# satisfied.
|
|
11
|
+
#
|
|
12
|
+
# (1) When this software is used in the form of source code, the above
|
|
13
|
+
# copyright notice, this use conditions, and the disclaimer shown
|
|
14
|
+
# below must be retained in the source code without modification.
|
|
15
|
+
#
|
|
16
|
+
# (2) When this software is redistributed in the forms usable for the
|
|
17
|
+
# development of other software, such as in library form, the above
|
|
18
|
+
# copyright notice, this use conditions, and the disclaimer shown
|
|
19
|
+
# below must be shown without modification in the document provided
|
|
20
|
+
# with the redistributed software, such as the user manual.
|
|
21
|
+
#
|
|
22
|
+
# (3) When this software is redistributed in the forms unusable for the
|
|
23
|
+
# development of other software, such as the case when the software
|
|
24
|
+
# is embedded in a piece of equipment, either of the following two
|
|
25
|
+
# conditions must be satisfied:
|
|
26
|
+
#
|
|
27
|
+
# (a) The above copyright notice, this use conditions, and the
|
|
28
|
+
# disclaimer shown below must be shown without modification in
|
|
29
|
+
# the document provided with the redistributed software, such as
|
|
30
|
+
# the user manual.
|
|
31
|
+
#
|
|
32
|
+
# (b) How the software is to be redistributed must be reported to the
|
|
33
|
+
# TOPPERS Project according to the procedure described
|
|
34
|
+
# separately.
|
|
35
|
+
#
|
|
36
|
+
# (4) The above copyright holders and the TOPPERS Project are exempt
|
|
37
|
+
# from responsibility for any type of damage directly or indirectly
|
|
38
|
+
# caused from the use of this software and are indemnified by any
|
|
39
|
+
# users or end users of this software from any and all causes of
|
|
40
|
+
# action whatsoever.
|
|
41
|
+
#
|
|
42
|
+
# THIS SOFTWARE IS PROVIDED "AS IS." THE ABOVE COPYRIGHT HOLDERS AND
|
|
43
|
+
# THE TOPPERS PROJECT DISCLAIM ANY EXPRESS OR IMPLIED WARRANTIES,
|
|
44
|
+
# INCLUDING, BUT NOT LIMITED TO, ITS APPLICABILITY TO A PARTICULAR
|
|
45
|
+
# PURPOSE. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS AND THE
|
|
46
|
+
# TOPPERS PROJECT BE LIABLE FOR ANY TYPE OF DAMAGE DIRECTLY OR
|
|
47
|
+
# INDIRECTLY CAUSED FROM THE USE OF THIS SOFTWARE.
|
|
48
|
+
#
|
|
49
|
+
|
|
50
|
+
module TECSCDE
|
|
51
|
+
#== manage highlighted objects
|
|
52
|
+
class HighlightedObjects
|
|
53
|
+
# @objects::[TmCell|TmJoinBar]
|
|
54
|
+
def initialize
|
|
55
|
+
@objects = []
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def add(obj)
|
|
59
|
+
reset_if_ncessary(obj)
|
|
60
|
+
@objects << obj
|
|
61
|
+
@objects.uniq!
|
|
62
|
+
update_attr_tree_view
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
#=== objects#add_del
|
|
66
|
+
# add if not include, delete if include
|
|
67
|
+
def add_del(obj)
|
|
68
|
+
reset_if_ncessary(obj)
|
|
69
|
+
if @objects.include?(obj)
|
|
70
|
+
@objects.delete(obj)
|
|
71
|
+
else
|
|
72
|
+
@objects << obj
|
|
73
|
+
end
|
|
74
|
+
update_attr_tree_view
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def reset(obj = nil)
|
|
78
|
+
@objects = []
|
|
79
|
+
if obj
|
|
80
|
+
@objects << obj
|
|
81
|
+
end
|
|
82
|
+
update_attr_tree_view
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
#=== objects#reset_if_ncessary
|
|
86
|
+
# Port and ( Cell or Bar ) cannot be highlighted simultaneously.
|
|
87
|
+
# Ports belonging to diferent Cell cannot be highlighted simultaneously.
|
|
88
|
+
# obj::TmCell | TmBar | TmPort: new object to be highlighted
|
|
89
|
+
def reset_if_ncessary(obj)
|
|
90
|
+
return if @objects.empty?
|
|
91
|
+
if @objects[0].is_a?(TECSModel::TmPort)
|
|
92
|
+
if obj.is_a?(TECSModel::TmPort)
|
|
93
|
+
if obj.owner_cell != @objects[0].owner_cell
|
|
94
|
+
reset
|
|
95
|
+
end
|
|
96
|
+
else
|
|
97
|
+
reset
|
|
98
|
+
end
|
|
99
|
+
else
|
|
100
|
+
if obj.is_a?(TECSModel::TmPort)
|
|
101
|
+
reset
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
def each
|
|
107
|
+
@objects.each do |obj|
|
|
108
|
+
yield obj
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
def empty?
|
|
113
|
+
@objects.empty?
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
def include?(object)
|
|
117
|
+
@objects.include?(object)
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
def set_attr_tree_view(tree_view, name_entry, region_entry, frame)
|
|
121
|
+
@cell_property_frame = frame
|
|
122
|
+
@cell_name_entry = name_entry
|
|
123
|
+
@cell_region_entry = region_entry
|
|
124
|
+
@attr_tree_view = tree_view
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
def change_cell_name(name)
|
|
128
|
+
if @objects.length == 1 && @objects[0].is_a?(TECSModel::TmCell)
|
|
129
|
+
@objects[0].change_name(name.to_sym)
|
|
130
|
+
@objects[0].model.set_undo_point
|
|
131
|
+
end
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
def cell_plugin_dialog
|
|
135
|
+
if @objects.length == 1 && @objects[0].is_a?(TECSModel::TmCell)
|
|
136
|
+
dialog = CellPluginDialog.new(@objects[0])
|
|
137
|
+
dialog.run
|
|
138
|
+
end
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
def update_attr_tree_view
|
|
142
|
+
cell = nil
|
|
143
|
+
n_cell = 0
|
|
144
|
+
each do |obj|
|
|
145
|
+
if obj.is_a?(TECSModel::TmCell)
|
|
146
|
+
cell = obj
|
|
147
|
+
n_cell += 1
|
|
148
|
+
end
|
|
149
|
+
end
|
|
150
|
+
if n_cell == 1
|
|
151
|
+
@cell_name_entry.text = cell.get_name.to_s
|
|
152
|
+
@cell_region_entry.text = cell.get_region.get_namespace_path.to_s
|
|
153
|
+
|
|
154
|
+
# this doesn't work! I don't know how to change the color of Entry text
|
|
155
|
+
if cell.editable?
|
|
156
|
+
@cell_name_entry.modify_fg(Gtk::STATE_NORMAL, Gdk::Color.parse("black"))
|
|
157
|
+
@cell_region_entry.modify_fg(Gtk::STATE_NORMAL, Gdk::Color.parse("black"))
|
|
158
|
+
@cell_property_frame.set_label("cell property")
|
|
159
|
+
else
|
|
160
|
+
@cell_name_entry.modify_fg(Gtk::STATE_NORMAL, Gdk::Color.parse("blue"))
|
|
161
|
+
@cell_region_entry.modify_fg(Gtk::STATE_NORMAL, Gdk::Color.parse("blue"))
|
|
162
|
+
@cell_property_frame.set_label("cell property (read only)")
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
@cell_name_entry.set_editable(cell.editable?)
|
|
166
|
+
@cell_region_entry.set_editable(cell.editable?)
|
|
167
|
+
|
|
168
|
+
@attr_tree_view.set_cell(cell)
|
|
169
|
+
else
|
|
170
|
+
@cell_name_entry.text = "(unselected)"
|
|
171
|
+
@cell_name_entry.set_editable(false)
|
|
172
|
+
@cell_name_entry.text = "(unselected)"
|
|
173
|
+
@cell_name_entry.set_editable(false)
|
|
174
|
+
@cell_property_frame.set_label("cell property (unselected)")
|
|
175
|
+
|
|
176
|
+
@attr_tree_view.clear
|
|
177
|
+
end
|
|
178
|
+
end
|
|
179
|
+
end
|
|
180
|
+
end
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
#
|
|
2
|
+
# TECSCDE - TECS Component Diagram Editor
|
|
3
|
+
#
|
|
4
|
+
# Copyright (C) 2014-2019 by TOPPERS Project
|
|
5
|
+
#
|
|
6
|
+
# The above copyright holders grant permission gratis to use,
|
|
7
|
+
# duplicate, modify, or redistribute (hereafter called use) this
|
|
8
|
+
# software (including the one made by modifying this software),
|
|
9
|
+
# provided that the following four conditions (1) through (4) are
|
|
10
|
+
# satisfied.
|
|
11
|
+
#
|
|
12
|
+
# (1) When this software is used in the form of source code, the above
|
|
13
|
+
# copyright notice, this use conditions, and the disclaimer shown
|
|
14
|
+
# below must be retained in the source code without modification.
|
|
15
|
+
#
|
|
16
|
+
# (2) When this software is redistributed in the forms usable for the
|
|
17
|
+
# development of other software, such as in library form, the above
|
|
18
|
+
# copyright notice, this use conditions, and the disclaimer shown
|
|
19
|
+
# below must be shown without modification in the document provided
|
|
20
|
+
# with the redistributed software, such as the user manual.
|
|
21
|
+
#
|
|
22
|
+
# (3) When this software is redistributed in the forms unusable for the
|
|
23
|
+
# development of other software, such as the case when the software
|
|
24
|
+
# is embedded in a piece of equipment, either of the following two
|
|
25
|
+
# conditions must be satisfied:
|
|
26
|
+
#
|
|
27
|
+
# (a) The above copyright notice, this use conditions, and the
|
|
28
|
+
# disclaimer shown below must be shown without modification in
|
|
29
|
+
# the document provided with the redistributed software, such as
|
|
30
|
+
# the user manual.
|
|
31
|
+
#
|
|
32
|
+
# (b) How the software is to be redistributed must be reported to the
|
|
33
|
+
# TOPPERS Project according to the procedure described
|
|
34
|
+
# separately.
|
|
35
|
+
#
|
|
36
|
+
# (4) The above copyright holders and the TOPPERS Project are exempt
|
|
37
|
+
# from responsibility for any type of damage directly or indirectly
|
|
38
|
+
# caused from the use of this software and are indemnified by any
|
|
39
|
+
# users or end users of this software from any and all causes of
|
|
40
|
+
# action whatsoever.
|
|
41
|
+
#
|
|
42
|
+
# THIS SOFTWARE IS PROVIDED "AS IS." THE ABOVE COPYRIGHT HOLDERS AND
|
|
43
|
+
# THE TOPPERS PROJECT DISCLAIM ANY EXPRESS OR IMPLIED WARRANTIES,
|
|
44
|
+
# INCLUDING, BUT NOT LIMITED TO, ITS APPLICABILITY TO A PARTICULAR
|
|
45
|
+
# PURPOSE. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS AND THE
|
|
46
|
+
# TOPPERS PROJECT BE LIABLE FOR ANY TYPE OF DAMAGE DIRECTLY OR
|
|
47
|
+
# INDIRECTLY CAUSED FROM THE USE OF THIS SOFTWARE.
|
|
48
|
+
#
|
|
49
|
+
|
|
50
|
+
require "logger"
|
|
51
|
+
require "forwardable"
|
|
52
|
+
|
|
53
|
+
module TECSCDE
|
|
54
|
+
class Logger
|
|
55
|
+
extend Forwardable
|
|
56
|
+
|
|
57
|
+
def_delegators(:@logger,
|
|
58
|
+
:debug, :debug?,
|
|
59
|
+
:info, :info?,
|
|
60
|
+
:warn, :warn?,
|
|
61
|
+
:error, :error?,
|
|
62
|
+
:fatal, :fatal?)
|
|
63
|
+
|
|
64
|
+
def initialize
|
|
65
|
+
@logger = ::Logger.new($stdout, level: ::Logger::Severity::INFO)
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
class << self
|
|
70
|
+
def logger
|
|
71
|
+
@logger ||= TECSCDE::Logger.new
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
#
|
|
2
|
+
# TECSCDE - TECS Component Diagram Editor
|
|
3
|
+
#
|
|
4
|
+
# Copyright (C) 2014-2019 by TOPPERS Project
|
|
5
|
+
#
|
|
6
|
+
# The above copyright holders grant permission gratis to use,
|
|
7
|
+
# duplicate, modify, or redistribute (hereafter called use) this
|
|
8
|
+
# software (including the one made by modifying this software),
|
|
9
|
+
# provided that the following four conditions (1) through (4) are
|
|
10
|
+
# satisfied.
|
|
11
|
+
#
|
|
12
|
+
# (1) When this software is used in the form of source code, the above
|
|
13
|
+
# copyright notice, this use conditions, and the disclaimer shown
|
|
14
|
+
# below must be retained in the source code without modification.
|
|
15
|
+
#
|
|
16
|
+
# (2) When this software is redistributed in the forms usable for the
|
|
17
|
+
# development of other software, such as in library form, the above
|
|
18
|
+
# copyright notice, this use conditions, and the disclaimer shown
|
|
19
|
+
# below must be shown without modification in the document provided
|
|
20
|
+
# with the redistributed software, such as the user manual.
|
|
21
|
+
#
|
|
22
|
+
# (3) When this software is redistributed in the forms unusable for the
|
|
23
|
+
# development of other software, such as the case when the software
|
|
24
|
+
# is embedded in a piece of equipment, either of the following two
|
|
25
|
+
# conditions must be satisfied:
|
|
26
|
+
#
|
|
27
|
+
# (a) The above copyright notice, this use conditions, and the
|
|
28
|
+
# disclaimer shown below must be shown without modification in
|
|
29
|
+
# the document provided with the redistributed software, such as
|
|
30
|
+
# the user manual.
|
|
31
|
+
#
|
|
32
|
+
# (b) How the software is to be redistributed must be reported to the
|
|
33
|
+
# TOPPERS Project according to the procedure described
|
|
34
|
+
# separately.
|
|
35
|
+
#
|
|
36
|
+
# (4) The above copyright holders and the TOPPERS Project are exempt
|
|
37
|
+
# from responsibility for any type of damage directly or indirectly
|
|
38
|
+
# caused from the use of this software and are indemnified by any
|
|
39
|
+
# users or end users of this software from any and all causes of
|
|
40
|
+
# action whatsoever.
|
|
41
|
+
#
|
|
42
|
+
# THIS SOFTWARE IS PROVIDED "AS IS." THE ABOVE COPYRIGHT HOLDERS AND
|
|
43
|
+
# THE TOPPERS PROJECT DISCLAIM ANY EXPRESS OR IMPLIED WARRANTIES,
|
|
44
|
+
# INCLUDING, BUT NOT LIMITED TO, ITS APPLICABILITY TO A PARTICULAR
|
|
45
|
+
# PURPOSE. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS AND THE
|
|
46
|
+
# TOPPERS PROJECT BE LIABLE FOR ANY TYPE OF DAMAGE DIRECTLY OR
|
|
47
|
+
# INDIRECTLY CAUSED FROM THE USE OF THIS SOFTWARE.
|
|
48
|
+
#
|
|
49
|
+
|
|
50
|
+
require "tecscde/tecs_model"
|
|
51
|
+
require "tecscde/control"
|
|
52
|
+
require "tecscde/view"
|
|
53
|
+
|
|
54
|
+
module TECSCDE
|
|
55
|
+
class MainViewAndModel
|
|
56
|
+
def initialize(tecsgen)
|
|
57
|
+
@model = TECSCDE::TECSModel.new(tecsgen)
|
|
58
|
+
control = TECSCDE::Control.new(@model)
|
|
59
|
+
view = TECSCDE::View::MainView.new(@model, control)
|
|
60
|
+
control.set_view(view)
|
|
61
|
+
@model.set_view(view)
|
|
62
|
+
|
|
63
|
+
@model.add_cell_list_from_tecsgen
|
|
64
|
+
@model.set_undo_point
|
|
65
|
+
|
|
66
|
+
view.paint_canvas
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def test_main
|
|
70
|
+
TECSCDE.logger.degug("test_main")
|
|
71
|
+
cell1 = @model.new_cell(0, 0)
|
|
72
|
+
cell2 = @model.new_cell(100, 100)
|
|
73
|
+
|
|
74
|
+
cport = TECSModel::TmCPort.new(cell1)
|
|
75
|
+
eport = TECSModel::TmEPort.new(cell2)
|
|
76
|
+
|
|
77
|
+
@model.new_join(cport, eport)
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
@@ -0,0 +1,553 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<interface>
|
|
3
|
+
<requires lib="gtk+" version="2.16"/>
|
|
4
|
+
<!-- interface-naming-policy project-wide -->
|
|
5
|
+
<object class="GtkImage" id="image_export">
|
|
6
|
+
<property name="visible">True</property>
|
|
7
|
+
<property name="can_focus">False</property>
|
|
8
|
+
<property name="stock">gtk-justify-fill</property>
|
|
9
|
+
</object>
|
|
10
|
+
<object class="GtkImage" id="image_new_cell">
|
|
11
|
+
<property name="visible">True</property>
|
|
12
|
+
<property name="can_focus">False</property>
|
|
13
|
+
<property name="pixbuf">NewCell.png</property>
|
|
14
|
+
</object>
|
|
15
|
+
<object class="GtkImage" id="image_pointer">
|
|
16
|
+
<property name="visible">True</property>
|
|
17
|
+
<property name="can_focus">False</property>
|
|
18
|
+
<property name="pixbuf">SelectArrow.png</property>
|
|
19
|
+
</object>
|
|
20
|
+
<object class="GtkImage" id="image_save">
|
|
21
|
+
<property name="visible">True</property>
|
|
22
|
+
<property name="can_focus">False</property>
|
|
23
|
+
<property name="stock">gtk-save</property>
|
|
24
|
+
</object>
|
|
25
|
+
<object class="GtkListStore" id="liststore_cell_attribute"/>
|
|
26
|
+
<object class="GtkListStore" id="liststore_celltype"/>
|
|
27
|
+
<object class="GtkWindow" id="window_palette">
|
|
28
|
+
<property name="can_focus">False</property>
|
|
29
|
+
<property name="title" translatable="yes">TECSCDE Palette</property>
|
|
30
|
+
<property name="skip_taskbar_hint">True</property>
|
|
31
|
+
<property name="skip_pager_hint">True</property>
|
|
32
|
+
<child>
|
|
33
|
+
<object class="GtkVBox" id="vbox1">
|
|
34
|
+
<property name="visible">True</property>
|
|
35
|
+
<property name="can_focus">False</property>
|
|
36
|
+
<child>
|
|
37
|
+
<object class="GtkMenuBar" id="menubar1">
|
|
38
|
+
<property name="visible">True</property>
|
|
39
|
+
<property name="can_focus">False</property>
|
|
40
|
+
<child>
|
|
41
|
+
<object class="GtkMenuItem" id="menuitem1">
|
|
42
|
+
<property name="visible">True</property>
|
|
43
|
+
<property name="can_focus">False</property>
|
|
44
|
+
<property name="use_action_appearance">False</property>
|
|
45
|
+
<property name="label" translatable="yes">_File</property>
|
|
46
|
+
<property name="use_underline">True</property>
|
|
47
|
+
<child type="submenu">
|
|
48
|
+
<object class="GtkMenu" id="menu1">
|
|
49
|
+
<property name="visible">True</property>
|
|
50
|
+
<property name="can_focus">False</property>
|
|
51
|
+
<!--
|
|
52
|
+
<child>
|
|
53
|
+
<object class="GtkImageMenuItem" id="imagemenuitem1">
|
|
54
|
+
<property name="label">gtk-new</property>
|
|
55
|
+
<property name="visible">True</property>
|
|
56
|
+
<property name="can_focus">False</property>
|
|
57
|
+
<property name="use_action_appearance">False</property>
|
|
58
|
+
<property name="use_underline">True</property>
|
|
59
|
+
<property name="use_stock">True</property>
|
|
60
|
+
</object>
|
|
61
|
+
</child>
|
|
62
|
+
-->
|
|
63
|
+
<!--
|
|
64
|
+
<child>
|
|
65
|
+
<object class="GtkImageMenuItem" id="imagemenuitem2">
|
|
66
|
+
<property name="label">gtk-open</property>
|
|
67
|
+
<property name="visible">True</property>
|
|
68
|
+
<property name="can_focus">False</property>
|
|
69
|
+
<property name="use_action_appearance">False</property>
|
|
70
|
+
<property name="use_underline">True</property>
|
|
71
|
+
<property name="use_stock">True</property>
|
|
72
|
+
</object>
|
|
73
|
+
</child>
|
|
74
|
+
-->
|
|
75
|
+
<child>
|
|
76
|
+
<object class="GtkImageMenuItem" id="menuitem-save">
|
|
77
|
+
<property name="label">gtk-save</property>
|
|
78
|
+
<property name="visible">True</property>
|
|
79
|
+
<property name="can_focus">False</property>
|
|
80
|
+
<property name="use_action_appearance">False</property>
|
|
81
|
+
<property name="use_underline">True</property>
|
|
82
|
+
<property name="use_stock">True</property>
|
|
83
|
+
</object>
|
|
84
|
+
</child>
|
|
85
|
+
<!--
|
|
86
|
+
<child>
|
|
87
|
+
<object class="GtkImageMenuItem" id="imagemenuitem4">
|
|
88
|
+
<property name="label">gtk-save-as</property>
|
|
89
|
+
<property name="visible">True</property>
|
|
90
|
+
<property name="can_focus">False</property>
|
|
91
|
+
<property name="use_action_appearance">False</property>
|
|
92
|
+
<property name="use_underline">True</property>
|
|
93
|
+
<property name="use_stock">True</property>
|
|
94
|
+
</object>
|
|
95
|
+
</child>
|
|
96
|
+
-->
|
|
97
|
+
<child>
|
|
98
|
+
<object class="GtkImageMenuItem" id="menuitem-export">
|
|
99
|
+
<property name="label" translatable="yes">_Export</property>
|
|
100
|
+
<property name="visible">True</property>
|
|
101
|
+
<property name="can_focus">False</property>
|
|
102
|
+
<property name="use_action_appearance">False</property>
|
|
103
|
+
<property name="use_underline">True</property>
|
|
104
|
+
<property name="use_stock">True</property>
|
|
105
|
+
</object>
|
|
106
|
+
</child>
|
|
107
|
+
<child>
|
|
108
|
+
<object class="GtkImageMenuItem" id="menuitem-preferences">
|
|
109
|
+
<property name="label">gtk-preferences</property>
|
|
110
|
+
<property name="visible">True</property>
|
|
111
|
+
<property name="can_focus">False</property>
|
|
112
|
+
<property name="use_action_appearance">False</property>
|
|
113
|
+
<property name="use_underline">True</property>
|
|
114
|
+
<property name="use_stock">True</property>
|
|
115
|
+
</object>
|
|
116
|
+
</child>
|
|
117
|
+
<child>
|
|
118
|
+
<object class="GtkSeparatorMenuItem" id="separatormenuitem1">
|
|
119
|
+
<property name="visible">True</property>
|
|
120
|
+
<property name="can_focus">False</property>
|
|
121
|
+
<property name="use_action_appearance">False</property>
|
|
122
|
+
</object>
|
|
123
|
+
</child>
|
|
124
|
+
<child>
|
|
125
|
+
<object class="GtkImageMenuItem" id="menuitem-quit">
|
|
126
|
+
<property name="label">gtk-quit</property>
|
|
127
|
+
<property name="visible">True</property>
|
|
128
|
+
<property name="can_focus">False</property>
|
|
129
|
+
<property name="use_action_appearance">False</property>
|
|
130
|
+
<property name="use_underline">True</property>
|
|
131
|
+
<property name="use_stock">True</property>
|
|
132
|
+
</object>
|
|
133
|
+
</child>
|
|
134
|
+
</object>
|
|
135
|
+
</child>
|
|
136
|
+
</object>
|
|
137
|
+
</child>
|
|
138
|
+
<child>
|
|
139
|
+
<object class="GtkMenuItem" id="menuitem2">
|
|
140
|
+
<property name="visible">True</property>
|
|
141
|
+
<property name="can_focus">False</property>
|
|
142
|
+
<property name="use_action_appearance">False</property>
|
|
143
|
+
<property name="label" translatable="yes">_Edit</property>
|
|
144
|
+
<property name="use_underline">True</property>
|
|
145
|
+
<child type="submenu">
|
|
146
|
+
<object class="GtkMenu" id="menu2">
|
|
147
|
+
<property name="visible">True</property>
|
|
148
|
+
<property name="can_focus">False</property>
|
|
149
|
+
<!--
|
|
150
|
+
<child>
|
|
151
|
+
<object class="GtkImageMenuItem" id="menuitem-cut">
|
|
152
|
+
<property name="label">gtk-cut</property>
|
|
153
|
+
<property name="visible">True</property>
|
|
154
|
+
<property name="can_focus">False</property>
|
|
155
|
+
<property name="use_action_appearance">False</property>
|
|
156
|
+
<property name="use_underline">True</property>
|
|
157
|
+
<property name="use_stock">True</property>
|
|
158
|
+
</object>
|
|
159
|
+
</child>
|
|
160
|
+
<child>
|
|
161
|
+
<object class="GtkImageMenuItem" id="menuitem-copy">
|
|
162
|
+
<property name="label">gtk-copy</property>
|
|
163
|
+
<property name="visible">True</property>
|
|
164
|
+
<property name="can_focus">False</property>
|
|
165
|
+
<property name="use_action_appearance">False</property>
|
|
166
|
+
<property name="use_underline">True</property>
|
|
167
|
+
<property name="use_stock">True</property>
|
|
168
|
+
</object>
|
|
169
|
+
</child>
|
|
170
|
+
<child>
|
|
171
|
+
<object class="GtkImageMenuItem" id="menuitem-paste">
|
|
172
|
+
<property name="label">gtk-paste</property>
|
|
173
|
+
<property name="visible">True</property>
|
|
174
|
+
<property name="can_focus">False</property>
|
|
175
|
+
<property name="use_action_appearance">False</property>
|
|
176
|
+
<property name="use_underline">True</property>
|
|
177
|
+
<property name="use_stock">True</property>
|
|
178
|
+
</object>
|
|
179
|
+
</child>
|
|
180
|
+
<child>
|
|
181
|
+
<object class="GtkImageMenuItem" id="menuitem-delete">
|
|
182
|
+
<property name="label">gtk-delete</property>
|
|
183
|
+
<property name="visible">True</property>
|
|
184
|
+
<property name="can_focus">False</property>
|
|
185
|
+
<property name="use_action_appearance">False</property>
|
|
186
|
+
<property name="use_underline">True</property>
|
|
187
|
+
<property name="use_stock">True</property>
|
|
188
|
+
</object>
|
|
189
|
+
</child>
|
|
190
|
+
-->
|
|
191
|
+
<child>
|
|
192
|
+
<object class="GtkImageMenuItem" id="menuitem-undo">
|
|
193
|
+
<property name="label">gtk-undo</property>
|
|
194
|
+
<property name="visible">True</property>
|
|
195
|
+
<property name="can_focus">False</property>
|
|
196
|
+
<property name="use_action_appearance">False</property>
|
|
197
|
+
<property name="use_underline">True</property>
|
|
198
|
+
<property name="use_stock">True</property>
|
|
199
|
+
</object>
|
|
200
|
+
</child>
|
|
201
|
+
<child>
|
|
202
|
+
<object class="GtkImageMenuItem" id="menuitem-redo">
|
|
203
|
+
<property name="label">gtk-redo</property>
|
|
204
|
+
<property name="visible">True</property>
|
|
205
|
+
<property name="can_focus">False</property>
|
|
206
|
+
<property name="use_action_appearance">False</property>
|
|
207
|
+
<property name="use_underline">True</property>
|
|
208
|
+
<property name="use_stock">True</property>
|
|
209
|
+
</object>
|
|
210
|
+
</child>
|
|
211
|
+
</object>
|
|
212
|
+
</child>
|
|
213
|
+
</object>
|
|
214
|
+
</child>
|
|
215
|
+
<child>
|
|
216
|
+
<object class="GtkMenuItem" id="menuitem4">
|
|
217
|
+
<property name="visible">True</property>
|
|
218
|
+
<property name="can_focus">False</property>
|
|
219
|
+
<property name="use_action_appearance">False</property>
|
|
220
|
+
<property name="label" translatable="yes">_Help</property>
|
|
221
|
+
<property name="use_underline">True</property>
|
|
222
|
+
<child type="submenu">
|
|
223
|
+
<object class="GtkMenu" id="menu3">
|
|
224
|
+
<property name="visible">True</property>
|
|
225
|
+
<property name="can_focus">False</property>
|
|
226
|
+
<child>
|
|
227
|
+
<object class="GtkImageMenuItem" id="menuitem-about">
|
|
228
|
+
<property name="label">gtk-about</property>
|
|
229
|
+
<property name="visible">True</property>
|
|
230
|
+
<property name="can_focus">False</property>
|
|
231
|
+
<property name="use_action_appearance">False</property>
|
|
232
|
+
<property name="use_underline">True</property>
|
|
233
|
+
<property name="use_stock">True</property>
|
|
234
|
+
</object>
|
|
235
|
+
</child>
|
|
236
|
+
</object>
|
|
237
|
+
</child>
|
|
238
|
+
</object>
|
|
239
|
+
</child>
|
|
240
|
+
</object>
|
|
241
|
+
<packing>
|
|
242
|
+
<property name="expand">False</property>
|
|
243
|
+
<property name="fill">True</property>
|
|
244
|
+
<property name="position">0</property>
|
|
245
|
+
</packing>
|
|
246
|
+
</child>
|
|
247
|
+
<child>
|
|
248
|
+
<object class="GtkHBox" id="hbox2">
|
|
249
|
+
<property name="visible">True</property>
|
|
250
|
+
<property name="can_focus">False</property>
|
|
251
|
+
<child>
|
|
252
|
+
<object class="GtkFrame" id="frame1">
|
|
253
|
+
<property name="visible">True</property>
|
|
254
|
+
<property name="can_focus">False</property>
|
|
255
|
+
<property name="label_xalign">0</property>
|
|
256
|
+
<property name="shadow_type">in</property>
|
|
257
|
+
<child>
|
|
258
|
+
<object class="GtkAlignment" id="alignment5">
|
|
259
|
+
<property name="visible">True</property>
|
|
260
|
+
<property name="can_focus">False</property>
|
|
261
|
+
<property name="left_padding">12</property>
|
|
262
|
+
<child>
|
|
263
|
+
<object class="GtkHBox" id="hbox4">
|
|
264
|
+
<property name="visible">True</property>
|
|
265
|
+
<property name="can_focus">False</property>
|
|
266
|
+
<child>
|
|
267
|
+
<object class="GtkToggleButton" id="togglebutton_pointer">
|
|
268
|
+
<property name="visible">True</property>
|
|
269
|
+
<property name="can_focus">True</property>
|
|
270
|
+
<property name="receives_default">True</property>
|
|
271
|
+
<property name="tooltip_markup">Select Object</property>
|
|
272
|
+
<property name="image">image_pointer</property>
|
|
273
|
+
</object>
|
|
274
|
+
<packing>
|
|
275
|
+
<property name="expand">False</property>
|
|
276
|
+
<property name="fill">True</property>
|
|
277
|
+
<property name="position">0</property>
|
|
278
|
+
</packing>
|
|
279
|
+
</child>
|
|
280
|
+
<child>
|
|
281
|
+
<object class="GtkToggleButton" id="togglebutton_new_cell">
|
|
282
|
+
<property name="visible">True</property>
|
|
283
|
+
<property name="can_focus">True</property>
|
|
284
|
+
<property name="receives_default">True</property>
|
|
285
|
+
<property name="tooltip_markup">New Cell</property>
|
|
286
|
+
<property name="image">image_new_cell</property>
|
|
287
|
+
</object>
|
|
288
|
+
<packing>
|
|
289
|
+
<property name="expand">False</property>
|
|
290
|
+
<property name="fill">True</property>
|
|
291
|
+
<property name="position">1</property>
|
|
292
|
+
</packing>
|
|
293
|
+
</child>
|
|
294
|
+
</object>
|
|
295
|
+
</child>
|
|
296
|
+
</object>
|
|
297
|
+
</child>
|
|
298
|
+
<child type="label">
|
|
299
|
+
<object class="GtkLabel" id="label_select_mode">
|
|
300
|
+
<property name="visible">True</property>
|
|
301
|
+
<property name="can_focus">False</property>
|
|
302
|
+
<property name="label" translatable="yes"><b>Select Mode</b></property>
|
|
303
|
+
<property name="use_markup">True</property>
|
|
304
|
+
</object>
|
|
305
|
+
</child>
|
|
306
|
+
</object>
|
|
307
|
+
<packing>
|
|
308
|
+
<property name="expand">False</property>
|
|
309
|
+
<property name="fill">True</property>
|
|
310
|
+
<property name="position">1</property>
|
|
311
|
+
</packing>
|
|
312
|
+
</child>
|
|
313
|
+
<child>
|
|
314
|
+
<object class="GtkFrame" id="frame6">
|
|
315
|
+
<property name="visible">True</property>
|
|
316
|
+
<property name="can_focus">False</property>
|
|
317
|
+
<property name="label_xalign">0</property>
|
|
318
|
+
<property name="shadow_type">none</property>
|
|
319
|
+
<child>
|
|
320
|
+
<object class="GtkHBox" id="hbox6">
|
|
321
|
+
<property name="visible">True</property>
|
|
322
|
+
<property name="can_focus">False</property>
|
|
323
|
+
<child>
|
|
324
|
+
<object class="GtkButton" id="button_undo">
|
|
325
|
+
<property name="label">gtk-undo</property>
|
|
326
|
+
<property name="visible">True</property>
|
|
327
|
+
<property name="can_focus">True</property>
|
|
328
|
+
<property name="receives_default">True</property>
|
|
329
|
+
<property name="use_stock">True</property>
|
|
330
|
+
</object>
|
|
331
|
+
<packing>
|
|
332
|
+
<property name="expand">True</property>
|
|
333
|
+
<property name="fill">True</property>
|
|
334
|
+
<property name="position">0</property>
|
|
335
|
+
</packing>
|
|
336
|
+
</child>
|
|
337
|
+
<child>
|
|
338
|
+
<object class="GtkButton" id="button_redo">
|
|
339
|
+
<property name="label">gtk-redo</property>
|
|
340
|
+
<property name="visible">True</property>
|
|
341
|
+
<property name="can_focus">True</property>
|
|
342
|
+
<property name="receives_default">True</property>
|
|
343
|
+
<property name="use_stock">True</property>
|
|
344
|
+
</object>
|
|
345
|
+
<packing>
|
|
346
|
+
<property name="expand">True</property>
|
|
347
|
+
<property name="fill">True</property>
|
|
348
|
+
<property name="position">1</property>
|
|
349
|
+
</packing>
|
|
350
|
+
</child>
|
|
351
|
+
</object>
|
|
352
|
+
</child>
|
|
353
|
+
<child type="label">
|
|
354
|
+
<object class="GtkLabel" id="label5">
|
|
355
|
+
<property name="visible">True</property>
|
|
356
|
+
<property name="can_focus">False</property>
|
|
357
|
+
<property name="label" translatable="yes"><b>Edit</b></property>
|
|
358
|
+
<property name="use_markup">True</property>
|
|
359
|
+
</object>
|
|
360
|
+
</child>
|
|
361
|
+
</object>
|
|
362
|
+
<packing>
|
|
363
|
+
<property name="expand">False</property>
|
|
364
|
+
<property name="fill">True</property>
|
|
365
|
+
<property name="position">2</property>
|
|
366
|
+
</packing>
|
|
367
|
+
</child>
|
|
368
|
+
</object>
|
|
369
|
+
<packing>
|
|
370
|
+
<property name="expand">False</property>
|
|
371
|
+
<property name="fill">True</property>
|
|
372
|
+
<property name="position">1</property>
|
|
373
|
+
</packing>
|
|
374
|
+
</child>
|
|
375
|
+
<child>
|
|
376
|
+
<object class="GtkFrame" id="frame2">
|
|
377
|
+
<property name="visible">True</property>
|
|
378
|
+
<property name="can_focus">False</property>
|
|
379
|
+
<property name="label_xalign">0</property>
|
|
380
|
+
<property name="shadow_type">in</property>
|
|
381
|
+
<child>
|
|
382
|
+
<object class="GtkAlignment" id="alignment2">
|
|
383
|
+
<property name="visible">True</property>
|
|
384
|
+
<property name="can_focus">False</property>
|
|
385
|
+
<property name="left_padding">12</property>
|
|
386
|
+
<child>
|
|
387
|
+
<object class="GtkScrolledWindow" id="scrolledwindow1">
|
|
388
|
+
<property name="visible">True</property>
|
|
389
|
+
<property name="can_focus">True</property>
|
|
390
|
+
<property name="hscrollbar_policy">automatic</property>
|
|
391
|
+
<property name="vscrollbar_policy">automatic</property>
|
|
392
|
+
<child>
|
|
393
|
+
<object class="GtkTreeView" id="treeview_celltype">
|
|
394
|
+
<property name="width_request">150</property>
|
|
395
|
+
<property name="height_request">150</property>
|
|
396
|
+
<property name="visible">True</property>
|
|
397
|
+
<property name="can_focus">True</property>
|
|
398
|
+
<property name="model">liststore_celltype</property>
|
|
399
|
+
</object>
|
|
400
|
+
</child>
|
|
401
|
+
</object>
|
|
402
|
+
</child>
|
|
403
|
+
</object>
|
|
404
|
+
</child>
|
|
405
|
+
<child type="label">
|
|
406
|
+
<object class="GtkLabel" id="label1">
|
|
407
|
+
<property name="visible">True</property>
|
|
408
|
+
<property name="can_focus">False</property>
|
|
409
|
+
<property name="label" translatable="yes"><b>celltypes</b></property>
|
|
410
|
+
<property name="use_markup">True</property>
|
|
411
|
+
</object>
|
|
412
|
+
</child>
|
|
413
|
+
</object>
|
|
414
|
+
<packing>
|
|
415
|
+
<property name="expand">True</property>
|
|
416
|
+
<property name="fill">True</property>
|
|
417
|
+
<property name="position">2</property>
|
|
418
|
+
</packing>
|
|
419
|
+
</child>
|
|
420
|
+
<child>
|
|
421
|
+
<object class="GtkFrame" id="frame_cell">
|
|
422
|
+
<property name="visible">True</property>
|
|
423
|
+
<property name="can_focus">False</property>
|
|
424
|
+
<property name="label_xalign">0</property>
|
|
425
|
+
<property name="shadow_type">in</property>
|
|
426
|
+
<child>
|
|
427
|
+
<object class="GtkAlignment" id="alignment3">
|
|
428
|
+
<property name="visible">True</property>
|
|
429
|
+
<property name="can_focus">False</property>
|
|
430
|
+
<property name="left_padding">12</property>
|
|
431
|
+
<child>
|
|
432
|
+
<object class="GtkVBox" id="vbox3">
|
|
433
|
+
<property name="visible">True</property>
|
|
434
|
+
<property name="can_focus">False</property>
|
|
435
|
+
<child>
|
|
436
|
+
<object class="GtkHBox" id="hbox1">
|
|
437
|
+
<property name="visible">True</property>
|
|
438
|
+
<property name="can_focus">False</property>
|
|
439
|
+
<child>
|
|
440
|
+
<object class="GtkLabel" id="label3">
|
|
441
|
+
<property name="visible">True</property>
|
|
442
|
+
<property name="can_focus">False</property>
|
|
443
|
+
<property name="xpad">10</property>
|
|
444
|
+
<property name="label" translatable="yes">name</property>
|
|
445
|
+
</object>
|
|
446
|
+
<packing>
|
|
447
|
+
<property name="expand">False</property>
|
|
448
|
+
<property name="fill">True</property>
|
|
449
|
+
<property name="position">0</property>
|
|
450
|
+
</packing>
|
|
451
|
+
</child>
|
|
452
|
+
<child>
|
|
453
|
+
<object class="GtkEntry" id="entry_cell_name">
|
|
454
|
+
<property name="visible">True</property>
|
|
455
|
+
<property name="can_focus">True</property>
|
|
456
|
+
<property name="invisible_char">●</property>
|
|
457
|
+
<property name="primary_icon_activatable">False</property>
|
|
458
|
+
<property name="secondary_icon_activatable">False</property>
|
|
459
|
+
<property name="primary_icon_sensitive">True</property>
|
|
460
|
+
<property name="secondary_icon_sensitive">True</property>
|
|
461
|
+
</object>
|
|
462
|
+
<packing>
|
|
463
|
+
<property name="expand">True</property>
|
|
464
|
+
<property name="fill">True</property>
|
|
465
|
+
<property name="position">1</property>
|
|
466
|
+
</packing>
|
|
467
|
+
</child>
|
|
468
|
+
</object>
|
|
469
|
+
<packing>
|
|
470
|
+
<property name="expand">False</property>
|
|
471
|
+
<property name="fill">True</property>
|
|
472
|
+
<property name="position">0</property>
|
|
473
|
+
</packing>
|
|
474
|
+
</child>
|
|
475
|
+
<child>
|
|
476
|
+
<object class="GtkHBox" id="hbox5">
|
|
477
|
+
<property name="visible">True</property>
|
|
478
|
+
<property name="can_focus">False</property>
|
|
479
|
+
<child>
|
|
480
|
+
<object class="GtkLabel" id="label6">
|
|
481
|
+
<property name="visible">True</property>
|
|
482
|
+
<property name="can_focus">False</property>
|
|
483
|
+
<property name="xalign">0.4699999988079071</property>
|
|
484
|
+
<property name="xpad">10</property>
|
|
485
|
+
<property name="label" translatable="yes">region: </property>
|
|
486
|
+
</object>
|
|
487
|
+
<packing>
|
|
488
|
+
<property name="expand">False</property>
|
|
489
|
+
<property name="fill">True</property>
|
|
490
|
+
<property name="position">0</property>
|
|
491
|
+
</packing>
|
|
492
|
+
</child>
|
|
493
|
+
<child>
|
|
494
|
+
<object class="GtkEntry" id="entry_cell_region">
|
|
495
|
+
<property name="visible">True</property>
|
|
496
|
+
<property name="can_focus">True</property>
|
|
497
|
+
<property name="invisible_char">●</property>
|
|
498
|
+
<property name="invisible_char_set">True</property>
|
|
499
|
+
<property name="primary_icon_activatable">False</property>
|
|
500
|
+
<property name="secondary_icon_activatable">False</property>
|
|
501
|
+
<property name="primary_icon_sensitive">True</property>
|
|
502
|
+
<property name="secondary_icon_sensitive">True</property>
|
|
503
|
+
</object>
|
|
504
|
+
<packing>
|
|
505
|
+
<property name="expand">True</property>
|
|
506
|
+
<property name="fill">True</property>
|
|
507
|
+
<property name="position">1</property>
|
|
508
|
+
</packing>
|
|
509
|
+
</child>
|
|
510
|
+
</object>
|
|
511
|
+
<packing>
|
|
512
|
+
<property name="expand">True</property>
|
|
513
|
+
<property name="fill">True</property>
|
|
514
|
+
<property name="position">1</property>
|
|
515
|
+
</packing>
|
|
516
|
+
</child>
|
|
517
|
+
<child>
|
|
518
|
+
<object class="GtkTreeView" id="treeview_cell_attribute">
|
|
519
|
+
<property name="width_request">150</property>
|
|
520
|
+
<property name="height_request">150</property>
|
|
521
|
+
<property name="visible">True</property>
|
|
522
|
+
<property name="can_focus">True</property>
|
|
523
|
+
<property name="model">liststore_cell_attribute</property>
|
|
524
|
+
</object>
|
|
525
|
+
<packing>
|
|
526
|
+
<property name="expand">True</property>
|
|
527
|
+
<property name="fill">True</property>
|
|
528
|
+
<property name="position">2</property>
|
|
529
|
+
</packing>
|
|
530
|
+
</child>
|
|
531
|
+
</object>
|
|
532
|
+
</child>
|
|
533
|
+
</object>
|
|
534
|
+
</child>
|
|
535
|
+
<child type="label">
|
|
536
|
+
<object class="GtkLabel" id="label_cell_fram">
|
|
537
|
+
<property name="visible">True</property>
|
|
538
|
+
<property name="can_focus">False</property>
|
|
539
|
+
<property name="label" translatable="yes"><b>cell</b></property>
|
|
540
|
+
<property name="use_markup">True</property>
|
|
541
|
+
</object>
|
|
542
|
+
</child>
|
|
543
|
+
</object>
|
|
544
|
+
<packing>
|
|
545
|
+
<property name="expand">True</property>
|
|
546
|
+
<property name="fill">True</property>
|
|
547
|
+
<property name="position">3</property>
|
|
548
|
+
</packing>
|
|
549
|
+
</child>
|
|
550
|
+
</object>
|
|
551
|
+
</child>
|
|
552
|
+
</object>
|
|
553
|
+
</interface>
|