Changeset 3682:cc474dbf2547 in orange


Ignore:
Timestamp:
05/22/07 12:06:40 (7 years ago)
Author:
miha <miha.stajdohar@…>
Branch:
default
Convert:
9d97b69787832a396f6defdbcc9a0827e9194f17
Message:

save to pajek

Location:
orange
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • orange/OrangeWidgets/Prototypes/OWNetwork.py

    r3606 r3682  
    1414from orngNetwork import *  
    1515 
     16#ta razred je potreben, da lahko narisemo pixmap z painterjem 
     17class pixmaps(QWidget): 
     18    def __init__(self): 
     19        apply(QWidget.__init__, (self,)) 
     20 
     21        #risanje lupe 
     22        self.LOOKG=QPixmap(20,20) 
     23        self.LOOKG.fill() 
     24        painter=QPainter(self.LOOKG) 
     25        painter.setPen(QPen(Qt.black,1)) 
     26        painter.setBrush(QBrush(Qt.red)) 
     27        pa=QPointArray([2,5,2,10,5,13,10,13,13,10,13,5,10,2,5,2,2,5]) 
     28        painter.drawPolygon(pa) 
     29        painter.drawLine(12,11,19,18) 
     30        painter.drawLine(11,12,18,19) 
     31        painter.drawLine(12,12,18,18) 
     32        painter.end() 
     33 
     34        #risanje roke 
     35        self.HAND=QPixmap(20,20) 
     36        self.HAND.fill() 
     37        painter=QPainter(self.HAND) 
     38        painter.setPen(QPen(Qt.black,1)) 
     39        painter.setBrush(QBrush(Qt.red)) 
     40        pa=QPointArray([1,4,1,6,4,6,4,8,6,8,6,10,8,10,8,12,11,12,15,8,15,7,12,4,1,4]) 
     41        painter.drawPolygon(pa) 
     42        painter.drawLine(5,6,7,6) 
     43        painter.drawLine(7,8,9,8) 
     44        painter.drawPoint(9,10) 
     45        painter.setBrush(QBrush(QColor(192,192,255))) 
     46        pa=QPointArray([11,12,14,15,18,11,15,8,11,12]) 
     47        painter.drawPolygon(pa) 
     48        painter.end() 
     49 
     50        #risanje pravokotnega izbiralnika 
     51        self.RECTG=QPixmap(20,20) 
     52        self.RECTG.fill() 
     53        painter=QPainter(self.RECTG) 
     54        painter.setPen(QPen(Qt.black,1)) 
     55        painter.setBrush(QBrush(QColor(192,192,255))) 
     56        pa=QPointArray([2,2,2,17,17,17,17,2,2,2]) 
     57        painter.drawPolygon(pa) 
     58        painter.setPen(QPen(Qt.white,1)) 
     59        pa=QPointArray([2,5,2,7,2,9,2,11,2,13,2,15,4,17,6,17,8,17,10,17,12,17,14,17,17,14,17,12,17,10,17,8,17,6,17,4,15,2,13,2,11,2,9,2,7,2,5,2]) 
     60        painter.drawPoints(pa,0,-1) 
     61        painter.setPen(QPen(Qt.black,1)) 
     62        pa=QPointArray([6,6,6,13,13,13,13,6,6,6]) 
     63        painter.drawPolygon(pa) 
     64        painter.drawLine(6,6,13,13) 
     65        painter.drawLine(6,13,13,6) 
     66        painter.setPen(QPen(QColor(192,192,255),1)) 
     67        pa=QPointArray([6,9,6,10,9,13,10,13,13,10,13,9,10,6,9,6]) 
     68        painter.drawPoints(pa,0,-1) 
     69        painter.end() 
     70 
     71        #risanje poligonskega izbiralnika 
     72        self.POLYG=QPixmap(20,20) 
     73        self.POLYG.fill() 
     74        painter=QPainter(self.POLYG) 
     75        painter.setPen(QPen(Qt.black,1)) 
     76        painter.setBrush(QBrush(QColor(192,192,255))) 
     77        pa=QPointArray([1,5,3,15,9,13,14,18,18,12,18,11,13,2,13,1,1,5]) 
     78        painter.drawPolygon(pa) 
     79        painter.end() 
     80 
     81 
    1682class OWNetwork(OWWidget): 
    1783    def __init__(self, parent=None, signalManager=None): 
     
    76142        self.btnPolySel.setPixmap(QPixmap(pics.POLYG)) 
    77143         
     144        OWGUI.button(self.controlArea, self, "Save network", callback=self.saveNetwork) 
    78145        OWGUI.button(self.controlArea, self, "Send", callback=self.sendData) 
    79146         
     
    84151        self.box.addWidget(self.graph) 
    85152         
     153    def saveNetwork(self): 
     154        filename = QFileDialog.getSaveFileName(QString.null,'PAJEK networks (*.net)') 
     155        if filename: 
     156            fn = "" 
     157            head, tail = os.path.splitext(str(filename)) 
     158            if not tail: 
     159                fn = head + ".net" 
     160            else: 
     161                fn = str(filename) 
     162             
     163            self.graph.visualizer.saveNetwork(fn) 
     164     
    86165    def selectConnectedNodes(self): 
    87166        self.graph.selectConnectedNodes(self.connectDistance) 
     
    216295        initTemp = 100 
    217296 
     297#        self.visualize.fruchtermanReingold(refreshRate, initTemp) 
     298         
    218299        while True: 
    219300            print initTemp 
     
    249330    ow.show() 
    250331    appl.exec_loop() 
    251  
    252 #ta razred je potreben, da lahko narisemo pixmap z painterjem 
    253 class pixmaps(QWidget): 
    254     def __init__(self): 
    255         apply(QWidget.__init__, (self,)) 
    256  
    257         #risanje lupe 
    258         self.LOOKG=QPixmap(20,20) 
    259         self.LOOKG.fill() 
    260         painter=QPainter(self.LOOKG) 
    261         painter.setPen(QPen(Qt.black,1)) 
    262         painter.setBrush(QBrush(Qt.red)) 
    263         pa=QPointArray([2,5,2,10,5,13,10,13,13,10,13,5,10,2,5,2,2,5]) 
    264         painter.drawPolygon(pa) 
    265         painter.drawLine(12,11,19,18) 
    266         painter.drawLine(11,12,18,19) 
    267         painter.drawLine(12,12,18,18) 
    268         painter.end() 
    269  
    270         #risanje roke 
    271         self.HAND=QPixmap(20,20) 
    272         self.HAND.fill() 
    273         painter=QPainter(self.HAND) 
    274         painter.setPen(QPen(Qt.black,1)) 
    275         painter.setBrush(QBrush(Qt.red)) 
    276         pa=QPointArray([1,4,1,6,4,6,4,8,6,8,6,10,8,10,8,12,11,12,15,8,15,7,12,4,1,4]) 
    277         painter.drawPolygon(pa) 
    278         painter.drawLine(5,6,7,6) 
    279         painter.drawLine(7,8,9,8) 
    280         painter.drawPoint(9,10) 
    281         painter.setBrush(QBrush(QColor(192,192,255))) 
    282         pa=QPointArray([11,12,14,15,18,11,15,8,11,12]) 
    283         painter.drawPolygon(pa) 
    284         painter.end() 
    285  
    286         #risanje pravokotnega izbiralnika 
    287         self.RECTG=QPixmap(20,20) 
    288         self.RECTG.fill() 
    289         painter=QPainter(self.RECTG) 
    290         painter.setPen(QPen(Qt.black,1)) 
    291         painter.setBrush(QBrush(QColor(192,192,255))) 
    292         pa=QPointArray([2,2,2,17,17,17,17,2,2,2]) 
    293         painter.drawPolygon(pa) 
    294         painter.setPen(QPen(Qt.white,1)) 
    295         pa=QPointArray([2,5,2,7,2,9,2,11,2,13,2,15,4,17,6,17,8,17,10,17,12,17,14,17,17,14,17,12,17,10,17,8,17,6,17,4,15,2,13,2,11,2,9,2,7,2,5,2]) 
    296         painter.drawPoints(pa,0,-1) 
    297         painter.setPen(QPen(Qt.black,1)) 
    298         pa=QPointArray([6,6,6,13,13,13,13,6,6,6]) 
    299         painter.drawPolygon(pa) 
    300         painter.drawLine(6,6,13,13) 
    301         painter.drawLine(6,13,13,6) 
    302         painter.setPen(QPen(QColor(192,192,255),1)) 
    303         pa=QPointArray([6,9,6,10,9,13,10,13,13,10,13,9,10,6,9,6]) 
    304         painter.drawPoints(pa,0,-1) 
    305         painter.end() 
    306  
    307         #risanje poligonskega izbiralnika 
    308         self.POLYG=QPixmap(20,20) 
    309         self.POLYG.fill() 
    310         painter=QPainter(self.POLYG) 
    311         painter.setPen(QPen(Qt.black,1)) 
    312         painter.setBrush(QBrush(QColor(192,192,255))) 
    313         pa=QPointArray([1,5,3,15,9,13,14,18,18,12,18,11,13,2,13,1,1,5]) 
    314         painter.drawPolygon(pa) 
    315         painter.end() 
  • orange/orngNetwork.py

    r3606 r3682  
    99    def __init__(self, graph, parent = None, name = "None"): 
    1010         
    11         print "orngNetwork/init: setGraph..." 
     11        #print "orngNetwork/init: setGraph..." 
    1212        self.setGraph(graph) 
    13         print "orngNetwork/init: getCoors..." 
    14         self.coors = self.getCoors() 
     13        #print "orngNetwork/init: getCoors..." 
     14        #self.coors = self.getCoors() 
    1515        self.graph = graph 
    1616 
     
    9090        self.xCoors = where(pos, ccX, self.xCoors) 
    9191        self.yCoors = where(pos, ccY, self.yCoors) 
     92 
     93    def saveNetwork(self, fn): 
     94        name = '' 
     95        try: 
     96            graphFile = file(fn,'w+') 
     97        except IOError: 
     98            return 1 
     99 
     100        graphFile.write('### This file was generated with Orange Network Visualizer ### \n\n\n') 
     101        if name == '': 
     102            graphFile.write('*Network ' + '"Qt network" \n\n') 
     103        else: 
     104            graphFile.write('*Network ' + str(name) + ' \n\n') 
     105 
     106 
     107        #izpis opisov vozlisc 
     108 
     109#        if writeCoordinates: 
     110#            xs=copy.deepcopy(self.GraphBase.Xcoors) 
     111#            ys=copy.deepcopy(self.GraphBase.Ycoors) 
     112#            (xs, ys,)=normalizeCoordinates(MAXX, MAXY, xs, ys) 
     113 
     114        graphFile.write('*Vertices% 8d\n' %self.graph.nVertices) 
     115        for v in range(self.graph.nVertices): 
     116            graphFile.write('% 8d ' % (v + 1)) 
     117#            if verticesParms[v].label!='': 
     118#                self.GraphFile.write(str('"'+ verticesParms[v].label + '"') + ' \t') 
     119#            else: 
     120            graphFile.write(str('"'+ str(v) + '"') + ' \t') 
     121            x = self.coors[v][0] / 1000 
     122            y = self.coors[v][1] / 1000 
     123            if x < 0: x = 0 
     124            if x >= 1: x = 0.9999 
     125            if y < 0: y = 0 
     126            if y >= 1: y = 0.9999 
     127            z = 0.5000 
     128            graphFile.write('%.4f    %.4f    %.4f\t' % (x, y, z)) 
     129#            if verticesParms[v].inFileDefinedCoors[2]!=None: 
     130#                self.GraphFile.write(str(verticesParms[v].inFileDefinedCoors[2]/MAXZ) + ' \t') 
     131# 
     132#            if verticesParms[v].colorName!=None: 
     133#                self.GraphFile.write(' ic ' + verticesParms[v].colorName + ' \t') 
     134#            if verticesParms[v].borderColorName!=None: 
     135#                self.GraphFile.write(' bc ' + verticesParms[v].borderColorName + ' \t') 
     136#            if verticesParms[v].borderWidthFromFile==True: 
     137#                self.GraphFile.write(' bw ' + str(verticesParms[v].borderWidth) + ' \t') 
     138            graphFile.write('\n') 
     139 
     140        #izpis opisov povezav 
     141        #najprej neusmerjene 
     142        graphFile.write('*Edges \n') 
     143        for (i,j) in self.graph.getEdges(): 
     144            graphFile.write('% 8d % 8d 1' % (i+1, j+1)) 
     145            graphFile.write('\n') 
     146#                     
     147        #self.graph. 
     148#        for v1 in edgesParms.keys(): 
     149#            for v2 in edgesParms[v1].keys(): 
     150#                if edgesParms[v1][v2].type==UNDIRECTED: 
     151#                    #osnova 
     152#                    self.GraphFile.write(str(v1+1) + ' ' + str(v2+1) + ' ' + str(edgesParms[v1][v2].weight) + ' \t') 
     153#                    #dodatni parametri 
     154#                    if edgesParms[v1][v2].label != '': 
     155#                        self.GraphFile.write(' l ' + str('"'+edgesParms[v1][v2].label+'"') + ' \t') 
     156#                    if edgesParms[v1][v2].colorName!=None: 
     157#                        self.GraphFile.write(' c ' + edgesParms[v1][v2].colorName + ' \t') 
     158#                    self.GraphFile.write('\n') 
     159# 
     160#        #se usmerjene 
     161#        self.GraphFile.write('*Arcs \n') 
     162#        for v1 in edgesParms.keys(): 
     163#            for v2 in edgesParms[v1].keys(): 
     164#                if edgesParms[v1][v2].type==DIRECTED: 
     165#                    #osnova 
     166#                    self.GraphFile.write(str(v1+1) + ' ' + str(v2+1) + ' ' + str(edgesParms[v1][v2].weight) + '\t') 
     167#                    #dodatni parametri 
     168#                    if edgesParms[v1][v2].label != '': 
     169#                        self.GraphFile.write(' l ' + str('"'+edgesParms[v1][v2].label+'"') + ' \t') 
     170#                    if edgesParms[v1][v2].colorName!=None: 
     171#                        self.GraphFile.write(' c ' + edgesParms[v1][v2].colorName + ' \t') 
     172#                    self.GraphFile.write('\n') 
     173 
     174        graphFile.write('\n') 
     175        graphFile.close() 
     176 
     177        return 0  #uspesen konec 
Note: See TracChangeset for help on using the changeset viewer.