개정판 67f38d89
issue #581: multi line no config applied
DTI_PID/DTI_PID/ConfigurationDialog.py | ||
---|---|---|
71 | 71 |
configs = docData.getConfigs('Text Size', 'Max Text Size') |
72 | 72 |
self.ui.maxTextSizeSpinBox.setValue(int(configs[0].value)) if 1 == len(configs) else self.ui.maxTextSizeSpinBox.setValue(60) |
73 | 73 | |
74 |
#configs = docData.getConfigs('Size', 'Delimiter')
|
|
75 |
#self.ui.lineEditSizeDelimiter.setText(configs[0].value if 1 == len(configs) else 'X')
|
|
74 |
configs = docData.getConfigs('Size', 'Delimiter') |
|
75 |
self.ui.lineEditSizeDelimiter.setText(configs[0].value if 1 == len(configs) else 'X') |
|
76 | 76 | |
77 | 77 |
configs = docData.getConfigs('Filter', 'MinimumSize') |
78 | 78 |
self.ui.lineEditMinimumSize.setText(configs[0].value if 1 == len(configs) else '15') |
... | ... | |
101 | 101 |
|
102 | 102 |
self.load_line_properties() |
103 | 103 | |
104 |
#configs = docData.getConfigs('Line No', 'Size Unit') |
|
105 |
#if 1 == len(configs): |
|
106 |
# self.ui.radioButtonMetric.setChecked(True) if 'Metric' == configs[0].value else self.ui.radioButtonInch.setChecked(True) |
|
107 |
#else: |
|
108 |
# self.ui.radioButtonMetric.setChecked(True) |
|
109 | ||
110 |
#configs = docData.getConfigs('Line No', 'Delimiter') |
|
111 |
#if 1 == len(configs): |
|
112 |
# self.ui.lineEdit.setText(configs[0].value) |
|
113 | ||
114 | 104 |
# line no setting (line no, size unit, delimiter) |
115 | 105 |
configs = docData.getConfigs('Line No', 'Size Unit') |
116 | 106 |
if 1 == len(configs): |
DTI_PID/DTI_PID/Shapes/EngineeringLineNoTextItem.py | ||
---|---|---|
91 | 91 |
_attrs = {} |
92 | 92 |
try: |
93 | 93 |
docData = AppDocData.instance() |
94 |
lineNoconfigs = docData.getConfigs('Line No', 'Configuration') |
|
94 | ||
95 | 95 |
from TextItemFactory import TextItemFactory |
96 |
item = TextItemFactory.instance().isLineNo(self.text()) |
|
96 | ||
97 |
configs = docData.getConfigs('Line No', 'Delimiter') |
|
98 |
if 1 == len(configs): |
|
99 |
lineInsideDelimiters = configs[0].value.split(self.lineNoDelimiter) |
|
100 |
configs = docData.getConfigs('Line No', 'Configuration') |
|
101 |
if len(configs) == 1 and configs[0].value is not None: |
|
102 |
lineConfigs = configs[0].value.split(self.lineNoDelimiter) |
|
103 |
for index in range(len(lineConfigs)): |
|
104 |
item = TextItemFactory.instance().isLineNo(self.text(), lineInsideDelimiters[index], lineConfigs[index]) |
|
105 |
if item[0]: |
|
106 |
lineNoconfigs = lineConfigs[index] |
|
107 |
break |
|
108 |
else: |
|
109 |
item = (False,) |
|
110 | ||
97 | 111 |
# Line No 부분 |
98 | 112 |
if item[0]: |
99 | 113 |
attr = SymbolAttr() |
... | ... | |
103 | 117 |
_attrs[attr] = self.text() |
104 | 118 | |
105 | 119 |
result = item[1] |
106 |
configs = lineNoconfigs[0].value.split(self.delimiter)
|
|
120 |
configs = lineNoconfigs.split(self.delimiter) |
|
107 | 121 |
props = docData.getLineProperties() |
108 | 122 |
for prop in props: |
109 | 123 |
if prop.UID in configs: |
DTI_PID/DTI_PID/Shapes/EngineeringTextItem.py | ||
---|---|---|
46 | 46 |
self._savedColor = None |
47 | 47 | |
48 | 48 |
self.delimiter = '"' |
49 |
self.lineNoDelimiter = '!-!' |
|
49 | 50 | |
50 | 51 |
self.attribute = '' |
51 | 52 |
DTI_PID/DTI_PID/TextItemFactory.py | ||
---|---|---|
29 | 29 |
""" |
30 | 30 |
def __init__(self): |
31 | 31 |
self.delimiter = '"' |
32 |
self.lineNoDelimiter = '!-!' |
|
32 | 33 | |
33 | 34 |
''' |
34 | 35 |
@history 2018.04.27 Jeongwoo Add condition on elif-statement (delimiter != '' and lineNoConfig != '') |
... | ... | |
49 | 50 |
configs = docData.getConfigs('Size', 'Delimiter') |
50 | 51 |
sizeDelimiter = configs[0].value.upper() if 1 == len(configs) else None |
51 | 52 | |
52 |
result = (False,) |
|
53 |
result = self.isLineNo(text) |
|
53 |
configs = docData.getConfigs('Line No', 'Size Unit') |
|
54 |
if 1 == len(configs): |
|
55 |
sizeUnits = configs[0].value.split(self.lineNoDelimiter) |
|
56 |
configs = docData.getConfigs('Line No', 'Delimiter') |
|
57 |
if 1 == len(configs): |
|
58 |
lineInsideDelimiters = configs[0].value.split(self.lineNoDelimiter) |
|
59 |
configs = docData.getConfigs('Line No', 'Configuration') |
|
60 |
if len(configs) == 1 and configs[0].value is not None: |
|
61 |
lineConfigs = configs[0].value.split(self.lineNoDelimiter) |
|
62 |
for index in range(len(lineConfigs)): |
|
63 |
result = self.isLineNo(text, lineInsideDelimiters[index], lineConfigs[index]) |
|
64 |
if result[0]: |
|
65 |
sizeUnit = sizeUnits[index] |
|
66 |
break |
|
67 |
else: |
|
68 |
result = (False,) |
|
54 | 69 | |
55 | 70 |
if result[0]: |
56 | 71 |
item = QEngineeringLineNoTextItem() |
... | ... | |
88 | 103 |
value = values[index] |
89 | 104 |
line_properties = docData.getLinePropertiesByUID(color_property) |
90 | 105 |
if line_properties[0].Attribute.replace(' ','') == 'NominalDiameter': |
91 |
configs = docData.getConfigs('Line No', 'Size Unit') |
|
92 |
if configs and configs[0].value == "Inch": |
|
106 |
if sizeUnit == "Inch": |
|
93 | 107 |
value = docData.convertInchToMetric(value) |
94 | 108 | |
95 | 109 |
configs = docData.getConfigs(color_property, value) |
... | ... | |
131 | 145 |
kyouho 2018.07.04 edit logic |
132 | 146 |
2018.11.15 add allowable |
133 | 147 |
''' |
134 |
def isLineNo(self, text): |
|
148 |
def isLineNo(self, text, delimiter, configs):
|
|
135 | 149 |
try: |
136 | 150 |
docData = AppDocData.instance() |
137 |
# delimiter |
|
138 |
configs = docData.getConfigs('Line No', 'Delimiter') |
|
139 |
delimiter = configs[0].value if 1 == len(configs) else '-' |
|
140 |
# line config |
|
141 |
configs = docData.getConfigs('Line No', 'Configuration') |
|
142 |
if configs and configs[0].value: |
|
143 |
lineNoConfig = configs[0].value.split(self.delimiter) |
|
151 |
|
|
152 |
if True: |
|
153 |
lineNoConfig = configs.split(self.delimiter) |
|
144 | 154 | |
145 | 155 |
res = [] |
146 | 156 | |
... | ... | |
148 | 158 |
return (False,) |
149 | 159 |
|
150 | 160 |
tokens = text.split(delimiter) |
151 |
patternText = configs[0].value.replace(self.delimiter, '').split(self.delimiter)
|
|
161 |
patternText = configs.replace(self.delimiter, '').split(self.delimiter) |
|
152 | 162 |
#Line Number에 Delimiter가 있을 수 있음 |
153 |
if configs[0].value != 'None' and len(tokens) >= len(patternText):
|
|
163 |
if configs != 'None' and len(tokens) >= len(patternText): |
|
154 | 164 |
loopText = text.replace(' ','') |
155 | 165 |
|
156 | 166 |
for propertyName in lineNoConfig: |
내보내기 Unified diff