Beispiel #1
0
def createOOoWriterComp():
    if OOoRTC.writer_comp:
        MyMsgBox('',OOoRTC.SetCoding('RTCは起動済みです','utf-8'))
        return                    
    
    if OOoRTC.mgr == None:
        if os.name == 'posix':
            home = expanduser("~")
            OOoRTC.mgr = OpenRTM_aist.Manager.init([os.path.abspath(__file__), '-f', home+'/OOoRTC/rtc.conf'])
        elif os.name == 'nt':
            OOoRTC.mgr = OpenRTM_aist.Manager.init([os.path.abspath(__file__), '-f', '.\\rtc.conf'])
        else:
            return

      
        OOoRTC.mgr.setModuleInitProc(MyModuleInit)
        OOoRTC.mgr.activateManager()
        OOoRTC.mgr.runManager(True)
    else:
        MyModuleInit(OOoRTC.mgr)
      
          

    try:
      writer = OOoWriter()
    except NotOOoWriterException:
      return

    
    MyMsgBox('',OOoRTC.SetCoding('RTCを起動しました','utf-8'))


    
    
    return None
Beispiel #2
0
    def actionPerformed(self, actionEvent):
        try:
            draw = OOoDraw()
        except NotOOoDrawException:
              return

        sobj = draw.document.CurrentSelection

        if sobj:
            if sobj.Count > 0:
                obj = sobj.getByIndex(0)
                jport, d_type = JudgeDrawObjRTC(obj)
                if jport:
                    if d_type == "DataInPort":
                        OOoRTC.draw_comp.mRemoveInPort(jport)
                    else:
                        OOoRTC.draw_comp.mRemoveOutPort(jport)
                    ClearInfo(self.dlg_control)
                    MyMsgBox('',OOoRTC.SetCoding('削除しました','utf-8'))

                    UpdateSaveSheet()
                    return
                    
            
        
        
        MyMsgBox(OOoRTC.SetCoding('エラー','utf-8'),OOoRTC.SetCoding('削除済みです','utf-8'))
Beispiel #3
0
    def setRTCTree(self):
        if self.mgr != None:
            self.treeWidget.clear()
            self.treeNodeList = []
            
            self.sheetcomboBox.clear()
            for i,j in self.rtc.m_excel.t_xlWorksheet.items():
                self.sheetcomboBox.addItem(i.decode("utf-8"))
            if str(self.sheetcomboBox.currentText().toLocal8Bit()) == u"保存用".encode("cp932"):
                self.sheetcomboBox.setCurrentIndex(1)
            address = str(self.namingServertextBox.text())
            orb = self.mgr._orb
            namingserver = OOoRTC.SetNamingServer(address, orb, self.massageBoxFunc, "Unicode")
            if namingserver == None:
                return
            #print namingserver
            tmp = QtGui.QTreeWidgetItem(["/"])
            self.treeWidget.addTopLevelItem(tmp)
            root = TreeNode(tmp, self)
            self.treeNodeList.append(root)
            
            oChild = self.createNode(address, True)
            root.appendChild(oChild)

            _path = ['/', address]
            self._paths = []

            OOoRTC.rtc_get_rtclist(namingserver, self._paths, _path, oChild, self)
Beispiel #4
0
    def setRTCTree(self):
        if self.mgr != None:
            self.treeWidget.clear()
            self.treeNodeList = []

            self.sheetcomboBox.clear()
            for i, j in self.rtc.m_excel.t_xlWorksheet.items():
                self.sheetcomboBox.addItem(i.decode("utf-8"))
            if str(self.sheetcomboBox.currentText().toLocal8Bit()
                   ) == u"保存用".encode("cp932"):
                self.sheetcomboBox.setCurrentIndex(1)
            address = str(self.namingServertextBox.text())
            orb = self.mgr._orb
            namingserver = OOoRTC.SetNamingServer(address, orb,
                                                  self.massageBoxFunc,
                                                  "Unicode")
            if namingserver == None:
                return
            #print(namingserver)
            tmp = QtGui.QTreeWidgetItem(["/"])
            self.treeWidget.addTopLevelItem(tmp)
            root = TreeNode(tmp, self)
            self.treeNodeList.append(root)

            oChild = self.createNode(address, True)
            root.appendChild(oChild)

            _path = ['/', address]
            self._paths = []

            OOoRTC.rtc_get_rtclist(namingserver, self._paths, _path, oChild,
                                   self)
Beispiel #5
0
    def loadSheet(self):
        
        self.rtc.mRemoveAllPort()
        count = 1
        m_hostname = ''
        _path = []
        

        while True:
            
            
            cell,sheet,m_len = self.rtc.m_excel.getCell(count,"A",'保存用',"",False)

            if cell.Value2 == None:
                return
            
            m_name = re.split(':',cell.Value2)
            
            
            if len(m_name) < 2:
                return

            if len(m_name) == 2:
                for dn in CalcDataPort.DataType.DataTypeList:
                    if m_name[1] == dn:
                        m_name[1] = dn
                #m_name[1] = m_name[1].decode("cp932").encode("utf-8")
                F_Name = m_name[1] + str(OpenRTM_aist.uuid1())
                row,col,mlen,sn,mstate,t_attachports = self.loadParam(count)
                if m_name[0] == 'DataInPort':
                    self.rtc.mAddInPort(F_Name, [[m_name[0],m_name[1]],m_name[1]], row, col, mlen, sn, mstate, t_attachports, False)
                elif m_name[0] == 'DataOutPort':
                    self.rtc.mAddOutPort(F_Name, [[m_name[0],m_name[1]],m_name[1]], row, col, mlen, sn, mstate, t_attachports, False)
            else:
                if m_hostname == m_name[1]:
                    pass
                else:
                    _paths = OOoRTC.GetPathList(m_name[1], self.mgr, None)
                    m_hostname = m_name[1]

                if _paths == None:
                    return

                for p in _paths:
                    if p[0] == m_name:
                        F_Name = p[0][-2] + p[0][-1]
                        profile = p[1].get_port_profile()
                        #props = nvlist_to_dict(profile.properties)

                        

                        row,col,mlen,sn,mstate,t_attachports = self.loadParam(count)
                        
                        if OOoRTC.nvlist_getValue(profile.properties,'port.port_type') == 'DataInPort':
                            self.rtc.mAddOutPort(F_Name, p, row, col, mlen, sn, mstate, t_attachports)
                        elif OOoRTC.nvlist_getValue(profile.properties,'port.port_type') == 'DataOutPort':
                            self.rtc.mAddInPort(F_Name, p, row, col, mlen, sn, mstate, t_attachports)            
    
            count = count + 1
Beispiel #6
0
  def setWord(self, m_str):
      cursor = self.writer.document.getCurrentController().getViewCursor()

      inp_str = OOoRTC.SetCoding(m_str, self.conf_Code[0])
      cursor.setString(inp_str)
      
      cursor.CharHeight = self.fontSize
      cursor.CharHeightAsian = self.fontSize

      

      if self.bold:
          cursor.CharWeight = BOLD
          cursor.CharWeightAsian = BOLD
      else:
          cursor.CharWeight = FW_NORMAL
          cursor.CharWeightAsian = FW_NORMAL
      if self.italic:
          cursor.CharPosture = ITALIC
          cursor.CharPostureAsian = ITALIC
      else:
          cursor.CharPosture = FS_NONE
          cursor.CharPostureAsian = FS_NONE

      if self.underline:
          cursor.CharUnderline = FU_SINGLE
      else:
          cursor.CharPosture = FU_NONE
          

      if self.strikeout:
          cursor.CharStrikeout = FST_SINGLE
      else:
          cursor.CharStrikeout = FST_NONE

      if self.emphasis:
          cursor.CharEmphasis = 1
      else:
          cursor.CharEmphasis = 0

      cursor.CharShadowed = self.shadow

      cursor.CharContoured = self.contoured
          

        

      #cursor.CharStyleName = self.fontName

      cursor.CharColor = OOoRTC.RGB(self.char_Red,self.char_Green,self.char_Blue)
      cursor.CharBackColor = OOoRTC.RGB(self.back_Red,self.back_Green,self.back_Blue)

      cursor.goRight(len(inp_str),False)

      cursor.collapseToEnd()
Beispiel #7
0
def SetRTCTree(oTreeModel, smgr, ctx, dlg_control):
    oTree = dlg_control.getControl( ControlName.RTCTreeName )
    tfns_control = dlg_control.getControl( ControlName.NameServerFName )
    if OOoRTC.mgr != None:
        

               
        orb = OOoRTC.mgr._orb

        
       
        namingserver = OOoRTC.SetNamingServer(str(tfns_control.Text), orb, MyMsgBox)
        
        
        
        if namingserver:
            
            
            oTreeDataModel = smgr.createInstanceWithContext("com.sun.star.awt.tree.MutableTreeDataModel", ctx)
            root = oTreeDataModel.createNode("/", False)
            oTreeDataModel.setRoot(root)
            oChild = oTreeDataModel.createNode(str(tfns_control.Text),False)
            root.appendChild(oChild)

            
            
            _path = ['/', str(tfns_control.Text)]
            _paths = []
            OOoRTC.rtc_get_rtclist(namingserver, _paths, _path, oChild, oTreeDataModel)

            
                      
            
            oTreeModel.DataModel = oTreeDataModel
            
            
            oTree.addSelectionChangeListener(TreeSelectListener(dlg_control, _paths))


            create_listener = CreatePortListener( dlg_control, _paths)
            create_control = dlg_control.getControl(ControlName.CreateBName)
            create_control.addActionListener(create_listener)

            delete_listener = DeleteListener(dlg_control, _paths)
            delete_control = dlg_control.getControl(ControlName.DeleteBName)
            delete_control.addActionListener(delete_listener)

            setPos_listener = SetPosListener(dlg_control, _paths)
            setpos_control = dlg_control.getControl(ControlName.SetPosBName)
            setpos_control.addActionListener(setPos_listener)
Beispiel #8
0
def SetRTCTree(oTreeModel, smgr, ctx, dlg_control):
    oTree = dlg_control.getControl( ControlName.RTCTreeName )
    tfns_control = dlg_control.getControl( ControlName.NameServerFName )
    if OOoRTC.mgr != None:
        

               
        orb = OOoRTC.mgr._orb

        
       
        namingserver = OOoRTC.SetNamingServer(str(tfns_control.Text), orb, MyMsgBox)
        
        
        
        if namingserver:
            
            
            oTreeDataModel = smgr.createInstanceWithContext("com.sun.star.awt.tree.MutableTreeDataModel", ctx)
            root = oTreeDataModel.createNode("/", False)
            oTreeDataModel.setRoot(root)
            oChild = oTreeDataModel.createNode(str(tfns_control.Text),False)
            root.appendChild(oChild)

            
            
            _path = ['/', str(tfns_control.Text)]
            _paths = []
            OOoRTC.rtc_get_rtclist(namingserver, _paths, _path, oChild, oTreeDataModel)

            
                      
            
            oTreeModel.DataModel = oTreeDataModel
            
            
            oTree.addSelectionChangeListener(TreeSelectListener(dlg_control, _paths))


            create_listener = CreatePortListener( dlg_control, _paths)
            create_control = dlg_control.getControl(ControlName.CreateBName)
            create_control.addActionListener(create_listener)

            delete_listener = DeleteListener(dlg_control, _paths)
            delete_control = dlg_control.getControl(ControlName.DeleteBName)
            delete_control.addActionListener(delete_listener)

            setPos_listener = SetPosListener(dlg_control, _paths)
            setpos_control = dlg_control.getControl(ControlName.SetPosBName)
            setpos_control.addActionListener(setPos_listener)
Beispiel #9
0
    def deleteSlot(self):
        pn = str(self.portListcomboBox.currentText().toLocal8Bit())
        if (pn in self.rtc.InPorts) == True:
            i = self.rtc.InPorts[pn]
            self.rtc.mRemoveInPort(i)
            self.delPortTC(i)
            return
        elif (pn in self.rtc.OutPorts) == True:
            o = self.rtc.OutPorts[pn]
            self.rtc.mRemoveOutPort(o)
            self.delPortTC(o)
            return

        t_comp, nd = OOoRTC.JudgePort(self, self._paths)

        if t_comp:
            for n, o in self.rtc.OutPorts.items():
                if o._port_a[0] == t_comp[0]:
                    self.rtc.mRemoveOutPort(o)
                    self.delPortTC(o)
                    return
            for n, i in self.rtc.InPorts.items():
                if i._port_a[0] == t_comp[0]:
                    self.rtc.mRemoveInPort(i)
                    self.delPortTC(i)
                    return
        else:
            self.massageBoxFunc("", u'データポートを選択してください')
            return

        self.massageBoxFunc("", u'削除済みです')
Beispiel #10
0
  def mAddOutPort(self, name, m_inport, row, col, mlen, sn, mstate, t_attachports, autoCon = True):

    sig = CalcDataPort.DataType.Single
    sec = CalcDataPort.DataType.Sequence
    ext = CalcDataPort.DataType.Extend

    m_data_o = None
    m_data_type = None
    
    if autoCon:
        m_data_o, m_data_type =  CalcDataPort.GetDataType(m_inport[1])
    else:
        m_data_o, m_data_type =  CalcDataPort.GetDataSType(m_inport[1])
    

    if m_data_o:
        
        m_outport = OpenRTM_aist.OutPort(name, m_data_o)
        self.addOutPort(name, m_outport)
        
        if autoCon:
            OOoRTC.ConnectPort(m_inport[1], m_outport._objref, name)

        if m_data_type[1] == sig:
            self.OutPorts[name] = self.m_CalcOutPort(m_outport, m_data_o, name, row, col, mlen, sn, mstate, m_inport, m_data_type, t_attachports)
        elif m_data_type[1] == sec:
            self.OutPorts[name] = self.m_CalcOutPortSeq(m_outport, m_data_o, name, row, col, mlen, sn, mstate, m_inport, m_data_type, t_attachports)
        elif m_data_type[1] == ext:
            self.OutPorts[name] = self.m_CalcOutPortEx(m_outport, m_data_o, name, row, col, mlen, sn, mstate, m_inport, m_data_type, t_attachports)
        
        return self.OutPorts[name]

    return None
Beispiel #11
0
def UpdateTree(dlg_control, m_port):
    
    info_control = dlg_control.getControl( ControlName.TextFName )
    info_control.setText(OOoRTC.SetCoding('作成済み','utf-8'))

    dtcb_control = dlg_control.getControl( ControlName.DataTypeCBName )
    if len(m_port._port_a[0]) == 2:
        dtcb_control.setText(m_port._port_a[1])
    else:
        dtcb_control.setText("")
    
    xo_control = dlg_control.getControl( ControlName.XoffsetBName )
    xo_control.setText(str(m_port._ox))

    yo_control = dlg_control.getControl( ControlName.YoffsetBName )
    yo_control.setText(str(m_port._oy))

    ro_control = dlg_control.getControl( ControlName.RoffsetBName )
    ro_control.setText(str(m_port._or))

    xs_control = dlg_control.getControl( ControlName.XscaleBName )
    xs_control.setText(str(m_port._sx))

    ys_control = dlg_control.getControl( ControlName.YscaleBName )
    ys_control.setText(str(m_port._sy))
Beispiel #12
0
 def actionPerformed(self, actionEvent):
     
     objectTree = self.dlg_control.getControl(ControlName.RTCTreeName)
     
     t_comp, nd = OOoRTC.JudgePort(objectTree, self._paths)
     
     if t_comp:
         
         for n,i in OOoRTC.draw_comp.InPorts.items():
             if i._port_a[0] == t_comp[0]:
                 i._obj.RotateAngle = i._r
                 t_pos = Point()
                 t_pos.X = i._x
                 t_pos.Y = i._y
                 i._obj.setPosition(t_pos)
                 return
     else:
         MyMsgBox(OOoRTC.SetCoding('エラー','utf-8'),OOoRTC.SetCoding('データポートを選択してください','utf-8'))
         return
     
     MyMsgBox(OOoRTC.SetCoding('エラー','utf-8'),OOoRTC.SetCoding('削除済みです','utf-8'))
Beispiel #13
0
    def mAddInPort(self,
                   name,
                   m_outport,
                   row,
                   col,
                   mlen,
                   sn,
                   mstate,
                   t_attachports,
                   autoCon=True):
        sig = CalcDataPort.DataType.Single
        sec = CalcDataPort.DataType.Sequence
        ext = CalcDataPort.DataType.Extend

        m_data_i = None
        m_data_type = None

        if autoCon:
            m_data_i, m_data_type = CalcDataPort.GetDataType(m_outport[1])
        else:
            m_data_i, m_data_type = CalcDataPort.GetDataSType(m_outport[1])

        if m_data_i:
            m_inport = OpenRTM_aist.InPort(name, m_data_i)
            self.addInPort(name, m_inport)

            if autoCon:
                OOoRTC.ConnectPort(m_inport._objref, m_outport[1], name)

            #self.InPorts[name] = self.m_CalcPortObject(m_inport, m_data_i, name, row, col, mlen, sn, mstate, m_outport, m_data_type, t_attachports)
            if m_data_type[1] == sig:
                self.InPorts[name] = self.m_CalcInPort(m_inport, m_data_i,
                                                       name, row, col, mlen,
                                                       sn, mstate, m_outport,
                                                       m_data_type,
                                                       t_attachports)
            elif m_data_type[1] == sec:
                self.InPorts[name] = self.m_CalcInPortSeq(
                    m_inport, m_data_i, name, row, col, mlen, sn, mstate,
                    m_outport, m_data_type, t_attachports)
            elif m_data_type[1] == ext:
                self.InPorts[name] = self.m_CalcInPortEx(
                    m_inport, m_data_i, name, row, col, mlen, sn, mstate,
                    m_outport, m_data_type, t_attachports)

            m_inport.addConnectorDataListener(
                OpenRTM_aist.ConnectorDataListenerType.ON_BUFFER_WRITE,
                DataListener(self.InPorts[name], self))

            return self.InPorts[name]

        return None
Beispiel #14
0
    def resetSlot(self):
        t_comp, nd = OOoRTC.JudgePort(self, self._paths)
        if t_comp:
            for n, o in self.rtc.OutPorts.items():
                if o._port_a[0] == t_comp[0]:
                    o._num = int(o._col)
                    return
            for n, i in self.rtc.InPorts.items():
                if i._port_a[0] == t_comp[0]:
                    i._num = int(i._col)
                    return
        else:
            self.massageBoxFunc("", u'データポートを選択してください')
            return

        self.massageBoxFunc("", u'削除済みです')
Beispiel #15
0
 def mAddOutPort(self, name, m_inport, offset, scale, pos, obj, autoCon = True):
     
     m_data_o = None
     m_data_type = None
   
     if autoCon:
       m_data_o, m_data_type =  DrawDataPort.GetDataType(m_inport[1])
     else:
       m_data_o, m_data_type =  DrawDataPort.GetDataSType(m_inport[1])
       
     
     if m_data_o:
       m_outport = OpenRTM_aist.OutPort(name, m_data_o)
       self.addOutPort(name, m_outport)
       if autoCon:
           OOoRTC.ConnectPort(m_outport._objref, m_inport[1], name)
       self.OutPorts[name] = DrawDataPort.DrawPortObject(m_outport, m_data_o, name, offset, scale, pos, obj, m_inport, m_data_type)
Beispiel #16
0
def GetDataType(m_port):
    basic = DataType.basic
    extended = DataType.extended
    
    profile = m_port.get_port_profile()
    #props = nvlist_to_dict(profile.properties)
    #data_type =  props['dataport.data_type']
    data_type =  OOoRTC.nvlist_getValue(profile.properties,'dataport.data_type')
    if data_type.startswith('IDL:'):
        data_type = data_type[4:]
    colon = data_type.rfind(':')
    if colon != -1:
        data_type = data_type[:colon]

    data_type = data_type.replace('RTC/','')
    
    
    
    return GetDataSType(data_type)
Beispiel #17
0
    def attachBSlot(self):
        pn = str(self.portListcomboBox.currentText().toLocal8Bit())

        if (pn in self.rtc.OutPorts) == True:
            o = self.rtc.OutPorts[pn]
            self.attachTC(o)
            return

        t_comp, nd = OOoRTC.JudgePort(self, self._paths)

        if t_comp:
            for n, o in self.rtc.OutPorts.items():
                if o._port_a[0] == t_comp[0]:
                    self.attachTC(o)
                    return

        else:
            self.massageBoxFunc("", u'データポートを選択してください')
            return

        self.massageBoxFunc("", u'削除済みです')
Beispiel #18
0
    def treeWidgetSlot(self, obj):
        self.datatypecomboBox.setCurrentIndex(0)
        self.selItem = self.getTreeNode(obj)

        t_comp, nd = OOoRTC.JudgePort(self, self._paths)

        self.portListcomboBox.lineEdit().setText("")

        if t_comp:
            for n, o in self.rtc.OutPorts.items():
                if o._port_a[0] == t_comp[0]:
                    self.updateTree(o)
                    return
            for n, i in self.rtc.InPorts.items():
                if i._port_a[0] == t_comp[0]:
                    self.updateTree(i)
                    return
        else:
            return

        self.infotextBox.setText(u"未作成")
        """tmp = self.getTreeNode(obj)
Beispiel #19
0
    def selectionChanged(self, ev):
        try:
            draw = OOoDraw()
        except NotOOoDrawException:
            return

        sobj = draw.document.CurrentSelection
        
        if sobj:
            if sobj.Count > 0:
                obj = sobj.getByIndex(0)
                jport, d_type = JudgeDrawObjRTC(obj)

                
                
                if jport:
                    UpdateTree(self.dlg_control, jport)
                    return
        else:
            return

        info_control = self.dlg_control.getControl( ControlName.TextFName )
        info_control.setText(OOoRTC.SetCoding('未作成','utf-8'))
Beispiel #20
0
  def configUpdate(self):
      
      for i in range(0, 100):
          dn = "dataport" + str(i+1)
          
          
          if self._configsets.haveConfig(dn):
              
              self._configsets.activateConfigurationSet(dn)
              self._configsets.update(dn)

              
              tdt = ""
              tmp = None
              if self.ConfInPorts.has_key(dn):
                  if self.conf_port_type[0] != "DataInPort":
                      del self.ConfInPorts[dn]
                  else:
                      tmp = self.ConfInPorts[dn]
                      tdt = "DataInPort"
              if self.ConfOutPorts.has_key(dn):
                  if self.conf_port_type[0] != "DataOutPort":
                      del self.ConfOutPorts[dn]
                  else:
                      tmp = self.ConfOutPorts[dn]
                      tdt = "DataOutPort"

              data_type = ""
              if tmp != None:
                  profile = tmp._port.get_port_profile()
                  #props = nvlist_to_dict(profile.properties)
                  #data_type =  props['dataport.data_type']
                  data_type =  OOoRTC.nvlist_getValue(profile.properties,'dataport.data_type')
                  if data_type.startswith('IDL:'):
                    data_type = data_type[4:]
                    colon = data_type.rfind(':')
                  if colon != -1:
                    data_type = data_type[:colon]

                    data_type = data_type.replace('RTC/','')
              

              if int(self.conf_column[0]) > 0 and len(self.conf_start_row[0]) > 0:
                  c_move = True
                  if int(self.c_move[0]) == 0:
                      c_move = False
                  Attach_Port = {}
                  tA = re.split(",",self.Attach_Port[0])
                  for k in tA:
                       if k != "" and k != "None":
                           Attach_Port[k] = k

                  if tdt != None and data_type == self.conf_data_type[0]:# and self.conf_port_type[0] == tdt:
                      tmp._row = self.conf_start_row[0]
                      tmp._sn = self.conf_sheetname[0]
                      tmp._col = self.conf_column[0]
                      tmp._length = self.conf_end_row[0]
                      tmp.attachports = Attach_Port 
                      tmp.state = c_move
                      

                  else:
                      
                      if tmp != None:
                          tmp._port.disconnect_all()
                          self.removePort(tmp._port)

                      
                      
                      if self.conf_port_type[0] == "DataInPort":
                        self.addConfInPort(dn, self.conf_data_type[0], self.conf_start_row[0], int(self.conf_column[0]), self.conf_end_row[0], self.conf_sheetname[0], c_move, Attach_Port)
                      elif self.conf_port_type[0] == "DataOutPort":
                        self.addConfOutPort(dn, self.conf_data_type[0], self.conf_start_row[0], int(self.conf_column[0]), self.conf_end_row[0], self.conf_sheetname[0], c_move, Attach_Port)
Beispiel #21
0
def LoadSheet():
  
    
    if OOoRTC.draw_comp:
      
      draw = OOoRTC.draw_comp.draw
      
      OOoRTC.draw_comp.mRemoveAllPort()
      oDrawPages = draw.drawpages
      oDrawPage = oDrawPages.getByIndex(0)
      
      st_control = oDrawPage.getForms().getByIndex(0).getByName('SaveTextBox')
      text = str(st_control.Text)
      m_port = re.split(';',text)

      m_hostname = ''
      _path = []
      
      for mp in m_port:
        m_list = re.split('#',mp)
        if len(m_list) > 10:
          m_name = re.split(':',m_list[0])
          if len(m_name) < 2:
            return
          if len(m_name) == 2:
              for dn in DrawDataPort.DataType.DataTypeList:
                  if m_name[1] == dn:
                      m_name[1] = dn
                  m_i,m_j,_ox,_oy,_or,_sx,_sy,_x,_y,_r,_obj,flag = LoadParam(m_list, oDrawPages)
                  F_Name = m_name[1] + str(m_i) + str(m_j)

                  if m_name[0] == "DataOutPort":
                    OOoRTC.draw_comp.mAddOutPort(F_Name, [[m_name[0],m_name[1]],m_name[1]], [_ox,_oy,_or], [_sx,_sy], [_x, _y, _r], _obj, False)
                  if m_name[0] == 'DataOutPort':
                    OOoRTC.draw_comp.mAddInPort(F_Name, [[m_name[0],m_name[1]],m_name[1]], [_ox,_oy,_or], [_sx,_sy], [_x, _y, _r], _obj, False)
              
          else:
              if m_hostname == m_name[1]:
                pass
              else:
                _paths = OOoRTC.GetPathList(m_name[1], OOoRTC.mgr ,MyMsgBox)
                m_hostname = m_name[1]
              if _paths == None:
                return
              for p in _paths:
                if p[0] == m_name:
                  
                  
                  profile = p[1].get_port_profile()
                  #props = nvlist_to_dict(profile.properties)

                  m_i,m_j,_ox,_oy,_or,_sx,_sy,_x,_y,_r,_obj,flag = LoadParam(m_list, oDrawPages)

                  F_Name = p[0][-2] + p[0][-1] + str(m_i) + str(m_j)

                  
                  
                  
                  
                  
                  if flag:
                    if OOoRTC.nvlist_getValue(profile.properties,'port.port_type') == 'DataInPort':
                        OOoRTC.draw_comp.mAddOutPort(F_Name, p, [_ox,_oy,_or], [_sx,_sy], [_x, _y, _r], _obj)
                    if OOoRTC.nvlist_getValue(profile.properties,'port.port_type') == 'DataOutPort':
                        OOoRTC.draw_comp.mAddInPort(F_Name, p, [_ox,_oy,_or], [_sx,_sy], [_x, _y, _r], _obj)
Beispiel #22
0
    def actionPerformed(self, actionEvent):

        

        try:
            draw = OOoDraw()
        except NotOOoDrawException:
            return

        sobj = draw.document.CurrentSelection

        if sobj:
            if sobj.Count > 0:
                obj = sobj.getByIndex(0)
                
                jport, d_type = JudgeDrawObjRTC(obj)
                
                if jport:
                    xo_control = self.dlg_control.getControl( ControlName.XoffsetBName )
                    yo_control = self.dlg_control.getControl( ControlName.YoffsetBName )
                    ro_control = self.dlg_control.getControl( ControlName.RoffsetBName )
                    xs_control = self.dlg_control.getControl( ControlName.XscaleBName )
                    ys_control = self.dlg_control.getControl( ControlName.YscaleBName )
                    jport._ox = long(xo_control.Text)
                    jport._oy = long(yo_control.Text)
                    jport._or = float(ro_control.Text)
                    jport._sx = long(xs_control.Text)
                    jport._sy = long(ys_control.Text)
                    UpdateSaveSheet()

                    return

                dtcb_control = self.dlg_control.getControl( ControlName.DataTypeCBName )
                dt = str(dtcb_control.Text)
                if dt != "":
                    F_Name = dt + str(OpenRTM_aist.uuid1())
                    ptcb_control = self.dlg_control.getControl( ControlName.PortTypeCBName )
                    pt = str(ptcb_control.Text)
                    

                    for d in DrawDataPort.DataType.DataTypeList:
                        if dt == d:
                            dt = d
                    
                    if pt == "DataOutPort":
                        pt = "DataInPort"
                    else:
                        pt = "DataOutPort"
                    CompAddPort(F_Name, [[pt,dt],dt], self.dlg_control, obj, pt, False)
                    if pt == "DataInPort":
                        MyMsgBox('',OOoRTC.SetCoding(dt+"型のOutPortを作成しました。",'utf-8'))
                    else:
                        MyMsgBox('',OOoRTC.SetCoding(dt+"型のInPortを作成しました。",'utf-8'))
                    UpdateSaveSheet()

                    info_control = self.dlg_control.getControl( ControlName.TextFName )
                    info_control.setText(OOoRTC.SetCoding('作成済み','utf-8'))

                    return
                    
                    
                objectTree = self.dlg_control.getControl(ControlName.RTCTreeName)
                t_comp, nd = OOoRTC.JudgePort(objectTree, self._paths)
                
                
                if t_comp:
                    
                    m_i,m_j = JudgeRTCObjDraw(obj)
                    
                    F_Name = t_comp[0][-2] + t_comp[0][-1] + str(m_i) + str(m_j)
                    
                    
                    profile = t_comp[1].get_port_profile()
                    #props = nvlist_to_dict(profile.properties)

                    
                    CompAddPort(F_Name, t_comp, self.dlg_control, obj, OOoRTC.nvlist_getValue(profile.properties,'port.port_type'))
                    
                        
                    t_str = str(m_i) + "ページの" +  str(m_j) + "番目の図形と" + t_comp[0][-2] + t_comp[0][-1] + "を関連付けました"
                    MyMsgBox('',OOoRTC.SetCoding(t_str,'utf-8'))
                        
                        

                    

                    UpdateSaveSheet()

                    info_control = self.dlg_control.getControl( ControlName.TextFName )
                    info_control.setText(OOoRTC.SetCoding('作成済み','utf-8'))
Beispiel #23
0
def LoadSheet():
  
    
    if OOoRTC.draw_comp:
      
      draw = OOoRTC.draw_comp.draw
      
      OOoRTC.draw_comp.mRemoveAllPort()
      oDrawPages = draw.drawpages
      oDrawPage = oDrawPages.getByIndex(0)
      
      st_control = oDrawPage.getForms().getByIndex(0).getByName('SaveTextBox')
      text = str(st_control.Text)
      m_port = re.split(';',text)

      m_hostname = ''
      _path = []
      
      for mp in m_port:
        m_list = re.split('#',mp)
        if len(m_list) > 10:
          m_name = re.split(':',m_list[0])
          if len(m_name) < 2:
            return
          if len(m_name) == 2:
              for dn in DrawDataPort.DataType.DataTypeList:
                  if m_name[1] == dn:
                      m_name[1] = dn
                  m_i,m_j,_ox,_oy,_or,_sx,_sy,_x,_y,_r,_obj,flag = LoadParam(m_list, oDrawPages)
                  F_Name = m_name[1] + str(m_i) + str(m_j)

                  if m_name[0] == "DataOutPort":
                    OOoRTC.draw_comp.mAddOutPort(F_Name, [[m_name[0],m_name[1]],m_name[1]], [_ox,_oy,_or], [_sx,_sy], [_x, _y, _r], _obj, False)
                  if m_name[0] == 'DataOutPort':
                    OOoRTC.draw_comp.mAddInPort(F_Name, [[m_name[0],m_name[1]],m_name[1]], [_ox,_oy,_or], [_sx,_sy], [_x, _y, _r], _obj, False)
              
          else:
              if m_hostname == m_name[1]:
                pass
              else:
                _paths = OOoRTC.GetPathList(m_name[1], OOoRTC.mgr ,MyMsgBox)
                m_hostname = m_name[1]
              if _paths == None:
                return
              for p in _paths:
                if p[0] == m_name:
                  
                  
                  profile = p[1].get_port_profile()
                  props = nvlist_to_dict(profile.properties)

                  m_i,m_j,_ox,_oy,_or,_sx,_sy,_x,_y,_r,_obj,flag = LoadParam(m_list, oDrawPages)

                  F_Name = p[0][-2] + p[0][-1] + str(m_i) + str(m_j)

                  
                  
                  
                  
                  
                  if flag:
                    if props['port.port_type'] == 'DataInPort':
                        OOoRTC.draw_comp.mAddOutPort(F_Name, p, [_ox,_oy,_or], [_sx,_sy], [_x, _y, _r], _obj)
                    if props['port.port_type'] == 'DataOutPort':
                        OOoRTC.draw_comp.mAddInPort(F_Name, p, [_ox,_oy,_or], [_sx,_sy], [_x, _y, _r], _obj)
Beispiel #24
0
def SetDialog():
    try:
      draw = OOoDraw()
    except NotOOoDrawException:
        return
      
    sobj = draw.document.CurrentSelection
    if sobj == None:
        MyMsgBox(OOoRTC.SetCoding('エラー','utf-8'), OOoRTC.SetCoding('図形を選択してください','utf-8'))
        return
    elif sobj.Count < 1:
        MyMsgBox(OOoRTC.SetCoding('エラー','utf-8'), OOoRTC.SetCoding('図形を選択してください','utf-8'))
        return

  
    dialog_name = "OOoDrawControlRTC.RTCTreeDialog"

    ctx = uno.getComponentContext()
    smgr = ctx.ServiceManager
    dp = smgr.createInstance("com.sun.star.awt.DialogProvider")
    dlg_control = dp.createDialog("vnd.sun.star.script:"+dialog_name+"?location=application")




    oTree = dlg_control.getControl(ControlName.RTCTreeName)

    LoadSheet()
    

    oTreeModel = oTree.getModel()

    SetRTCTree_listener = SetRTCTreeListener( oTreeModel, smgr, ctx, dlg_control )
    setrtctree_control = dlg_control.getControl(ControlName.CreateTreeBName)
    setrtctree_control.addActionListener(SetRTCTree_listener)

    tfns_control = dlg_control.getControl( ControlName.NameServerFName )
    tfns_control.setText('localhost')

    xo_control = dlg_control.getControl( ControlName.XoffsetBName )
    xo_control.setText(str(0))

    yo_control = dlg_control.getControl( ControlName.YoffsetBName )
    yo_control.setText(str(0))

    ro_control = dlg_control.getControl( ControlName.RoffsetBName )
    ro_control.setText(str(0))

    xs_control = dlg_control.getControl( ControlName.XscaleBName )
    xs_control.setText(str(100))

    ys_control = dlg_control.getControl( ControlName.YscaleBName )
    ys_control.setText(str(100))

    dtcb_control = dlg_control.getControl( ControlName.DataTypeCBName )
    dtcb_control.addItem ("", dtcb_control.ItemCount)
    for n in DrawDataPort.DataType.DataTypeList:
        dtcb_control.addItem (n, dtcb_control.ItemCount)
    
    ptcb_control = dlg_control.getControl( ControlName.PortTypeCBName )
    ptcb_control.addItem ("DataInPort", ptcb_control.ItemCount)
    ptcb_control.addItem ("DataOutPort", ptcb_control.ItemCount)
    ptcb_control.setText('DataInPort')

    setallpos_listener = SetAllPosListener( dlg_control )
    setallpos_control = dlg_control.getControl(ControlName.SetAllPosBName)
    setallpos_control.addActionListener(setallpos_listener)

    
    
    
    
    
    dlg_control.execute()
    dlg_control.dispose()
Beispiel #25
0
def ClearInfo(dlg_control):
    info_control = dlg_control.getControl( ControlName.TextFName )
    info_control.setText(OOoRTC.SetCoding('未作成','utf-8'))
Beispiel #26
0
  def configUpdate(self):
      
      for i in range(0, 100):
          dn = "dataport" + str(i+1)
          
          
          if self._configsets.haveConfig(dn):
              
              self._configsets.activateConfigurationSet(dn)
              self._configsets.update(dn)

              
              tdt = ""
              tmp = None
              if dn in self.ConfInPorts:
                  if self.conf_port_type[0] != "DataInPort":
                      del self.ConfInPorts[dn]
                  else:
                      tmp = self.ConfInPorts[dn]
                      tdt = "DataInPort"
              if dn in self.ConfOutPorts:
                  if self.conf_port_type[0] != "DataOutPort":
                      del self.ConfOutPorts[dn]
                  else:
                      tmp = self.ConfOutPorts[dn]
                      tdt = "DataOutPort"

              data_type = ""
              if tmp != None:
                  profile = tmp._port.get_port_profile()
                  #props = nvlist_to_dict(profile.properties)
                  #data_type =  props['dataport.data_type']
                  data_type =  OOoRTC.nvlist_getValue(profile.properties,'dataport.data_type')
                  if data_type.startswith('IDL:'):
                    data_type = data_type[4:]
                    colon = data_type.rfind(':')
                  if colon != -1:
                    data_type = data_type[:colon]

                    data_type = data_type.replace('RTC/','')
              

              if int(self.conf_column[0]) > 0 and len(self.conf_start_row[0]) > 0:
                  c_move = True
                  if int(self.c_move[0]) == 0:
                      c_move = False
                  Attach_Port = {}
                  tA = re.split(",",self.Attach_Port[0])
                  for k in tA:
                       if k != "" and k != "None":
                           Attach_Port[k] = k

                  if tdt != None and data_type == self.conf_data_type[0]:# and self.conf_port_type[0] == tdt:
                      tmp._row = self.conf_start_row[0]
                      tmp._sn = self.conf_sheetname[0]
                      tmp._col = self.conf_column[0]
                      tmp._length = self.conf_end_row[0]
                      tmp.attachports = Attach_Port 
                      tmp.state = c_move
                      

                  else:
                      
                      if tmp != None:
                          tmp._port.disconnect_all()
                          self.removePort(tmp._port)

                      
                      
                      if self.conf_port_type[0] == "DataInPort":
                        self.addConfInPort(dn, self.conf_data_type[0], self.conf_start_row[0], int(self.conf_column[0]), self.conf_end_row[0], self.conf_sheetname[0], c_move, Attach_Port)
                      elif self.conf_port_type[0] == "DataOutPort":
                        self.addConfOutPort(dn, self.conf_data_type[0], self.conf_start_row[0], int(self.conf_column[0]), self.conf_end_row[0], self.conf_sheetname[0], c_move, Attach_Port)
Beispiel #27
0
    def actionPerformed(self, actionEvent):

        

        try:
            draw = OOoDraw()
        except NotOOoDrawException:
            return

        sobj = draw.document.CurrentSelection

        if sobj:
            if sobj.Count > 0:
                obj = sobj.getByIndex(0)
                
                jport, d_type = JudgeDrawObjRTC(obj)
                
                if jport:
                    xo_control = self.dlg_control.getControl( ControlName.XoffsetBName )
                    yo_control = self.dlg_control.getControl( ControlName.YoffsetBName )
                    ro_control = self.dlg_control.getControl( ControlName.RoffsetBName )
                    xs_control = self.dlg_control.getControl( ControlName.XscaleBName )
                    ys_control = self.dlg_control.getControl( ControlName.YscaleBName )
                    jport._ox = long(xo_control.Text)
                    jport._oy = long(yo_control.Text)
                    jport._or = float(ro_control.Text)
                    jport._sx = long(xs_control.Text)
                    jport._sy = long(ys_control.Text)
                    UpdateSaveSheet()

                    return

                dtcb_control = self.dlg_control.getControl( ControlName.DataTypeCBName )
                dt = str(dtcb_control.Text)
                if dt != "":
                    F_Name = dt + str(OpenRTM_aist.uuid1())
                    ptcb_control = self.dlg_control.getControl( ControlName.PortTypeCBName )
                    pt = str(ptcb_control.Text)
                    

                    for d in DrawDataPort.DataType.DataTypeList:
                        if dt == d:
                            dt = d
                    
                    if pt == "DataOutPort":
                        pt = "DataInPort"
                    else:
                        pt = "DataOutPort"
                    CompAddPort(F_Name, [[pt,dt],dt], self.dlg_control, obj, pt, False)
                    if pt == "DataInPort":
                        MyMsgBox('',OOoRTC.SetCoding(dt+"型のOutPortを作成しました。",'utf-8'))
                    else:
                        MyMsgBox('',OOoRTC.SetCoding(dt+"型のInPortを作成しました。",'utf-8'))
                    UpdateSaveSheet()

                    info_control = self.dlg_control.getControl( ControlName.TextFName )
                    info_control.setText(OOoRTC.SetCoding('作成済み','utf-8'))

                    return
                    
                    
                objectTree = self.dlg_control.getControl(ControlName.RTCTreeName)
                t_comp, nd = OOoRTC.JudgePort(objectTree, self._paths)
                
                
                if t_comp:
                    
                    m_i,m_j = JudgeRTCObjDraw(obj)
                    
                    F_Name = t_comp[0][-2] + t_comp[0][-1] + str(m_i) + str(m_j)
                    
                    
                    profile = t_comp[1].get_port_profile()
                    props = nvlist_to_dict(profile.properties)

                    
                    CompAddPort(F_Name, t_comp, self.dlg_control, obj, props['port.port_type'])
                    
                        
                    t_str = str(m_i) + "ページの" +  str(m_j) + "番目の図形と" + t_comp[0][-2] + t_comp[0][-1] + "を関連付けました"
                    MyMsgBox('',OOoRTC.SetCoding(t_str,'utf-8'))
                        
                        

                    

                    UpdateSaveSheet()

                    info_control = self.dlg_control.getControl( ControlName.TextFName )
                    info_control.setText(OOoRTC.SetCoding('作成済み','utf-8'))
Beispiel #28
0
    def delete(self):

        self.cell2.CellBackColor = OOoRTC.RGB(0, 0, 0)
Beispiel #29
0
    def addSlot(self):
        
        pn = str(self.portListcomboBox.currentText().toLocal8Bit())
        if self.rtc.InPorts.has_key(pn) == True:
            self.setPortParam(self.rtc.InPorts[pn])
            self.updateSaveSheet()
            return
        elif self.rtc.OutPorts.has_key(pn) == True:
            self.setPortParam(self.rtc.OutPorts[pn])
            self.updateSaveSheet()
            return

        dt = str(self.datatypecomboBox.currentText().toLocal8Bit())
        if dt != "":
            F_Name = dt + str(OpenRTM_aist.uuid1())
            pt = str(self.porttypecomboBox.currentText().toLocal8Bit())
            if pt == "DataOutPort":
                if self.compAddOutPort(F_Name, [[pt,dt],dt], False):
                    self.massageBoxFunc('',dt.decode("utf-8")+u"型のOutPortを作成しました。")
            else:
                if self.compAddInPort(F_Name, [[pt,dt],dt], False):
                    self.massageBoxFunc('',dt.decode("utf-8")+u"型のInPortを作成しました。")

            self.updateInPortList()
            self.updateDataPortList()
            self.updateSaveSheet()
            return
            
        t_comp, nd = OOoRTC.JudgePort(self, self._paths)
        if t_comp:
            
            for n,o in self.rtc.OutPorts.items():
                if o._port_a[0] == t_comp[0]:
                    self.setPortParam(o)
                    
                    return
            for n,i in self.rtc.InPorts.items():
                if i._port_a[0] == t_comp[0]:
                    self.setPortParam(i)
                    
                    return
                
            F_Name = t_comp[0][-2] + t_comp[0][-1]
            profile = t_comp[1].get_port_profile()
            #props = nvlist_to_dict(profile.properties)

            if OOoRTC.nvlist_getValue(profile.properties,'port.port_type') == 'DataInPort':
                self.compAddOutPort(F_Name, t_comp)
            elif OOoRTC.nvlist_getValue(profile.properties,'port.port_type') == 'DataOutPort':
                self.compAddInPort(F_Name, t_comp)

            

            self.updateSaveSheet()
            self.infotextBox.setText(u"作成済み")

            self.updateInPortList()
            self.updateDataPortList()

            self.massageBoxFunc('',t_comp[0][-2]+u"の"+t_comp[0][-1]+u"と通信するデータポートを作成しました。")

        
        """print self.coltextBox.text()
Beispiel #30
0
    def loadSheet(self):

        self.rtc.mRemoveAllPort()
        count = 1
        m_hostname = ''
        _path = []

        while True:

            cell, sheet, m_len = self.rtc.m_excel.getCell(
                count, "A", '保存用', "", False)

            if cell.Value2 == None:
                return

            m_name = re.split(':', cell.Value2)

            if len(m_name) < 2:
                return

            if len(m_name) == 2:
                for dn in CalcDataPort.DataType.DataTypeList:
                    if m_name[1] == dn:
                        m_name[1] = dn
                #m_name[1] = m_name[1].decode("cp932").encode("utf-8")
                F_Name = m_name[1] + str(OpenRTM_aist.uuid1())
                row, col, mlen, sn, mstate, t_attachports = self.loadParam(
                    count)
                if m_name[0] == 'DataInPort':
                    self.rtc.mAddInPort(F_Name,
                                        [[m_name[0], m_name[1]], m_name[1]],
                                        row, col, mlen, sn, mstate,
                                        t_attachports, False)
                elif m_name[0] == 'DataOutPort':
                    self.rtc.mAddOutPort(F_Name,
                                         [[m_name[0], m_name[1]], m_name[1]],
                                         row, col, mlen, sn, mstate,
                                         t_attachports, False)
            else:
                if m_hostname == m_name[1]:
                    pass
                else:
                    _paths = OOoRTC.GetPathList(m_name[1], self.mgr, None)
                    m_hostname = m_name[1]

                if _paths == None:
                    return

                for p in _paths:
                    if p[0] == m_name:
                        F_Name = p[0][-2] + p[0][-1]
                        profile = p[1].get_port_profile()
                        #props = nvlist_to_dict(profile.properties)

                        row, col, mlen, sn, mstate, t_attachports = self.loadParam(
                            count)

                        if OOoRTC.nvlist_getValue(
                                profile.properties,
                                'port.port_type') == 'DataInPort':
                            self.rtc.mAddOutPort(F_Name, p, row, col, mlen, sn,
                                                 mstate, t_attachports)
                        elif OOoRTC.nvlist_getValue(
                                profile.properties,
                                'port.port_type') == 'DataOutPort':
                            self.rtc.mAddInPort(F_Name, p, row, col, mlen, sn,
                                                mstate, t_attachports)

            count = count + 1
Beispiel #31
0
    def addSlot(self):

        pn = str(self.portListcomboBox.currentText().toLocal8Bit())
        if (pn in self.rtc.InPorts) == True:
            self.setPortParam(self.rtc.InPorts[pn])
            self.updateSaveSheet()
            return
        elif (pn in self.rtc.OutPorts) == True:
            self.setPortParam(self.rtc.OutPorts[pn])
            self.updateSaveSheet()
            return

        dt = str(self.datatypecomboBox.currentText().toLocal8Bit())
        if dt != "":
            F_Name = dt + str(OpenRTM_aist.uuid1())
            pt = str(self.porttypecomboBox.currentText().toLocal8Bit())
            if pt == "DataOutPort":
                if self.compAddOutPort(F_Name, [[pt, dt], dt], False):
                    self.massageBoxFunc(
                        '',
                        dt.decode("utf-8") + u"型のOutPortを作成しました。")
            else:
                if self.compAddInPort(F_Name, [[pt, dt], dt], False):
                    self.massageBoxFunc(
                        '',
                        dt.decode("utf-8") + u"型のInPortを作成しました。")

            self.updateInPortList()
            self.updateDataPortList()
            self.updateSaveSheet()
            return

        t_comp, nd = OOoRTC.JudgePort(self, self._paths)
        if t_comp:

            for n, o in self.rtc.OutPorts.items():
                if o._port_a[0] == t_comp[0]:
                    self.setPortParam(o)

                    return
            for n, i in self.rtc.InPorts.items():
                if i._port_a[0] == t_comp[0]:
                    self.setPortParam(i)

                    return

            F_Name = t_comp[0][-2] + t_comp[0][-1]
            profile = t_comp[1].get_port_profile()
            #props = nvlist_to_dict(profile.properties)

            if OOoRTC.nvlist_getValue(profile.properties,
                                      'port.port_type') == 'DataInPort':
                self.compAddOutPort(F_Name, t_comp)
            elif OOoRTC.nvlist_getValue(profile.properties,
                                        'port.port_type') == 'DataOutPort':
                self.compAddInPort(F_Name, t_comp)

            self.updateSaveSheet()
            self.infotextBox.setText(u"作成済み")

            self.updateInPortList()
            self.updateDataPortList()

            self.massageBoxFunc(
                '',
                t_comp[0][-2] + u"の" + t_comp[0][-1] + u"と通信するデータポートを作成しました。")
        """print(self.coltextBox.text())