프로젝트

일반

사용자정보

개정판 dbac2c70

IDdbac2c704a6f2a644e778c1a0b5eda07368dbf43
상위 2ab99cff
하위 4bb59995

백흠경이(가) 5년 이상 전에 추가함

issue 1061: 심볼 생성 - save and load equipment's scale

Change-Id: I3be631cda4ad1299e65e022ff1e831a8d6dc0512

차이점 보기:

HYTOS/HYTOS/App.py
73 73
            file.close()
74 74

  
75 75
    def load_language(self, language_file):
76
        """
77
        load translator with given language file
78
        """
76
        """ load translator with given language file """
79 77
        try:
80 78
            if self._translator is not None:
81 79
                self.removeTranslator(self._translator)
HYTOS/HYTOS/AppDocData.py
295 295
    def lineTypeConfigs(self, value):
296 296
        self._lineTypeConfigs = value
297 297

  
298
    @property
299
    def drain_size(self):
300
        """ getter of drain_size """
301
        if not hasattr(self, '_drain_size') or not self._drain_size:
302
            configs = self.getConfigs('Drain Size Rule', 'Size')
303
            self._drain_size = configs[0].value if configs else '1"'
304

  
305
        return self._drain_size
306

  
307
    @drain_size.setter
308
    def drain_size(self, value):
309
        """ setter of drain_size """
310
        self._drain_size = value
311

  
312 298
    '''
313 299
        @brief  get line type config of given line type
314 300
        @author humkyung
HYTOS/HYTOS/Shapes/SymbolSvgItem.py
46 46
        self.category = ''
47 47
        self.type = ''
48 48
        self.angle = 0
49
        self._scale = 1
49 50
        self.origin = None
50 51
        self.loc = None
51 52
        self.size = None
......
202 203
        
203 204
        rect = self.sceneBoundingRect()
204 205

  
205
        cols = ['UID', 'Drawings_UID', 'Symbols_UID', 'X', 'Y', 'Rotation']
206
        values = ['?','?','?', '?', '?', '?']
207
        param = [str(self.uid), str(appDocData.activeDrawing.UID), str(self.dbUid), rect.left(), rect.top(), str(self.angle)]
206
        cols = ['UID', 'Drawings_UID', 'Symbols_UID', 'X', 'Y', 'Rotation', 'Scale']
207
        values = ['?','?','?', '?', '?', '?', '?']
208
        param = [str(self.uid), str(appDocData.activeDrawing.UID), str(self.dbUid), rect.left(), rect.top(), str(self.angle), self.transform().m11()]
208 209
        sql = 'insert or replace into Components({}) values({})'.format(','.join(cols), ','.join(values))
209 210
        res.append((sql, tuple(param)))
210 211
        
......
224 225
        @history    2018.05.09  Jeongwoo    Clear self.connectors
225 226
                    2018.05.30  Jeongwoo    Add parameters (parentSymbol, childSymbol)
226 227
    '''
227
    def buildItem(self, name, _type, angle, loc, origin, connPts, dbUid=None, pointsUids=None):
228
    def buildItem(self, name, _type, angle, scale, loc, origin, connPts, dbUid=None, pointsUids=None):
228 229
        try:
229 230
            docData = AppDocData.instance()
230 231
            self.name = name
231 232
            self.type = _type     
232 233
            self.angle = angle     
234
            self._scale = scale
233 235
            self.loc = loc  
234 236
            self.origin = origin
235 237
            if dbUid is None:
......
874 876

  
875 877
    @staticmethod 
876 878
    def fromDatabase(componentInfos):
879
        """ create a componenet from database """
877 880
        item = None
878 881

  
879 882
        try:
......
886 889
            x = componentInfos[0][7]                # X@Components
887 890
            y = componentInfos[0][8]                # Y@Components
888 891
            angle = componentInfos[0][9]            # Rotation@Components	
892
            scale = componentInfos[0][10]           # Scale@Components	
889 893

  
890 894
            pt = []
891 895
            pt.append(float(x))
......
906 910
            if os.path.isfile(svgFilePath):
907 911
                item = SymbolSvgItem.createItem(_type, svgFilePath, uid)
908 912
                item.setVisible(False)
909
                item.buildItem(name, _type, float(angle), pt, origin, connPts, dbUid, pointsUids)
913
                item.buildItem(name, _type, float(angle), float(scale), pt, origin, connPts, dbUid, pointsUids)
910 914

  
911 915
                for area in appDocData.getAreaList():
912 916
                    if area.contains(pt):
......
1120 1124
        transform.translate(self.loc[0] + self.symbolOrigin[0], self.loc[1] + self.symbolOrigin[1])
1121 1125
        transform.rotateRadians(-self.angle)
1122 1126
        transform.translate(-self.symbolOrigin[0], -self.symbolOrigin[1])
1127
        transform.scale(self._scale, self._scale)
1123 1128

  
1124 1129
        self.setTransform(transform)
1125 1130
        scene.addItem(self)
......
1322 1327
        rect = self.sceneBoundingRect()
1323 1328
        loc = QPointF(rect.x(), rect.y())
1324 1329
        self.resetTransform()
1330
        #self.setScale(1)
1325 1331
        rect = self.sceneBoundingRect()
1326 1332
        scale = [(change.width() - loc.x())/rect.width(), (change.height() - loc.y())/rect.height()]
1327 1333
        #scale the item
1328 1334
        if scale[0] > 0 and scale[1] > 0:
1329 1335
            self.setPos(loc)
1336
            #self.setScale(scale[0] if scale[0] < scale[1] else scale[1])
1330 1337
            trans = QTransform()
1331 1338
            trans.scale(scale[0] if scale[0] < scale[1] else scale[1],scale[0] if scale[0] < scale[1] else scale[1])
1332
            self.setTransform(trans);
1339
            self.setTransform(trans)
1333 1340
            self.prepareGeometryChange()
1334 1341
            self.update()
1335 1342

  
HYTOS/HYTOS/americano.qss
89 89
    border: 1px solid #1e1e1e;
90 90
}
91 91

  
92
QTableWidget::item:enabled
93
{
94
    background-color: rgb(66, 66, 66);
95
}
96

  
92 97
QLineEdit
93 98
{
94 99
    background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #4d4d4d, stop: 0 #646464, stop: 1 #5d5d5d);

내보내기 Unified diff

클립보드 이미지 추가 (최대 크기: 500 MB)