Exemple #1
0
		def OnInit(self):

			import DetachedFrame
			import __builtin__
			import gettext
			from DomainInterface.DomainStructure import DomainStructure
			from DomainInterface.DomainBehavior import DomainBehavior

			__builtin__.__dict__['ICON_PATH']='icons'
			__builtin__.__dict__['ICON_PATH_16_16']=os.path.join(ICON_PATH,'16x16')
			__builtin__.__dict__['NB_HISTORY_UNDO']= 5
			__builtin__.__dict__['DOMAIN_PATH']='Domain'
			__builtin__.__dict__['FONT_SIZE']=12
			__builtin__.__dict__['_'] = gettext.gettext
			__builtin__.__dict__['LOCAL_EDITOR'] = False

			diagram = Container.Diagram()

			self.frame = DetachedFrame.DetachedFrame(None, -1, "Test", diagram)
			newPage = Container.ShapeCanvas(self.frame, wx.NewId(), name='Test')
			newPage.SetDiagram(diagram)

			getDiagramFromXML("Diagram.xml", canvas=newPage)
			#diagram.SetParent(newPage)

			self.frame.Show()

			return True
Exemple #2
0
	def AddEditPage(self, title, defaultDiagram = None):
		""" Adds a new page for editing to the notebook and keeps track of it.

			@type title: string
			@param title: Title for a new page
		"""

		### title page list
		title_pages = map(lambda p: p.name, self.pages)

		### occurrence of title in existing title pages
		c = title_pages.count(title)
		title = title+"(%d)"%c if c != 0 else title

		### new page
		newPage = Container.ShapeCanvas(self, wx.NewId(), name=title)

		### new diagram
		d = defaultDiagram or Container.Diagram()
		d.SetParent(newPage)

		### diagram and background new page setting
		newPage.SetDiagram(d)

		### print canvas variable setting
		self.print_canvas = newPage
		self.print_size = self.GetSize()

		self.pages.append(newPage)
		self.AddPage(newPage, title, imageId=0)

		self.SetSelection(self.GetPageCount()-1)
def makeSimulation(filename, T):
    """
	"""

    import Container

    a = Container.Diagram()

    if a.LoadFile(filename):
        sys.stdout.write("\nFichier charge\n")

        try:
            master = Container.Diagram.makeDEVSInstance(a)
            #print "master -> " , master
            #print "a -> " , a
        except:
            return False
        else:
            sim = runSimulation(master, T)
            thread = sim.Run()

            # first_time = time.time()
            # while(thread.isAlive()):
            # new_time = time.time()
            # Printer(new_time - first_time)

            sys.stdout.write("\nTime : %s" % str(master.FINAL_TIME))
            sys.stdout.write("\nFin.\n")
def makeJS(filename):
    """
	"""

    import Container

    a = Container.Diagram()
    if a.LoadFile(filename):
        sys.stdout.write("\nFichier charge\n")
        master = Container.Diagram.makeDEVSInstance(a)

        addInner = []
        liaison = []
        model = {}
        labelEnCours = str(os.path.basename(a.last_name_saved).split('.')[0])

        # path = os.path.join(os.getcwd(),os.path.basename(a.last_name_saved).split('.')[0] + ".js") # genere le fichier js dans le dossier de devsimpy
        # path = filename.split('.')[0] + ".js" # genere le fichier js dans le dossier du dsp charg�.

        #Position initial du 1er modele
        x = [40]
        y = [40]
        bool = True

        from Join import makeDEVSConf, makeJoin

        model, liaison, addInner = makeJoin(a, addInner, liaison, model, bool,
                                            x, y, labelEnCours)
        makeDEVSConf(model, liaison, addInner, "%s.js" % labelEnCours)
    else:
        return False
Exemple #5
0
        def OnInit(self):

            from . import DetachedFrame
            import builtins
            import gettext
            from .DomainInterface.DomainStructure import DomainStructure
            from .DomainInterface.DomainBehavior import DomainBehavior

            builtins.__dict__['ICON_PATH'] = 'icons'
            builtins.__dict__['ICON_PATH_16_16'] = os.path.join(
                ICON_PATH, '16x16')
            builtins.__dict__['NB_HISTORY_UNDO'] = 5
            builtins.__dict__['DOMAIN_PATH'] = 'Domain'

            builtins.__dict__['FONT_SIZE'] = 12
            builtins.__dict__['_'] = gettext.gettext
            builtins.__dict__['LOCAL_EDITOR'] = False

            diagram = Container.Diagram()

            self.frame = DetachedFrame.DetachedFrame(None, -1, "Test", diagram)
            newPage = Container.ShapeCanvas(self.frame,
                                            wx.NewIdRef(),
                                            name='Test')
            newPage.SetDiagram(diagram)

            path = os.path.join(os.path.expanduser("~"), 'Downloads',
                                'Watershed.xml')
            #path = os.path.join(os.path.expanduser("~"),'Downloads','example.xmlsestree')
            getDiagramFromXMLSES(path, canvas=newPage)
            #diagram.SetParent(newPage)

            self.frame.Show()

            return True
Exemple #6
0
    def LoadDiagram(self, l):
        """ Load diagram at the level l in the current canvas
        """

        layers = self.GetLayers()
        canvas = self

        print("current level is", l, layers)

        if l in layers:
            dia = canvas.GetDiagramByLevel(l)

            canvas.SetCurrentLevel(l)

            sys.stdout.write("load diagram %d" % l)
            sys.stdout.write(str(self.layers))

        else:

            dia = Container.Diagram()
            dia.SetParent(canvas)

            canvas.SetCurrentLevel(l)
            #canvas.SetDiagram(dia)

            print("New diagram at level %s" % l, self.layers)

        ### add new or update new attributes layers and current_layer to diagram
        setattr(dia, 'layers', canvas.GetLayers())
        setattr(dia, 'current_level', canvas.GetCurrentLevel())
        setattr(dia, 'DAM', canvas.GetDAM())
        setattr(dia, 'UAM', canvas.GetUAM())

        ### add new or update new attributes layers and current_layer to diagram at level 0
        d0 = canvas.GetDiagramByLevel(0)
        setattr(d0, 'layers', canvas.GetLayers())
        setattr(d0, 'current_level', canvas.GetCurrentLevel())
        setattr(d0, 'DAM', canvas.GetDAM())
        setattr(d0, 'UAM', canvas.GetUAM())

        #=======================================================================
        # ### Add Attributes for dump only for ContainerBlock
        #=======================================================================
        # frame = canvas.GetTopLevelParent()
        # is_detached_frame = isinstance(frame, DetachedFrame.DetachedFrame)
        # parent_frame_is_canvas = isinstance(frame.GetParent(), Container.ShapeCanvas)
        # if is_detached_frame and not parent_frame_is_canvas:
        #     d0 = canvas.GetDiagramByLevel(0)
        #     ### only once
        #     if not (d0.HasAttr('layers') and d0.HasAttr('current_level')):
        #         d0.AddAttributes(['layers', 'current_level'])
        #         self.SetDiagramByLevel(0, d0)
        #=======================================================================

        ### update canvas
        canvas.SetDiagram(dia)
        canvas.deselect()
        canvas.Refresh()
Exemple #7
0
    def OnInit(self):

        import gettext

        #builtins.__dict__['PYDEVS_SIM_STRATEGY_DICT'] = {'original':'SimStrategy1', 'bag-based':'SimStrategy2', 'direct-coupling':'SimStrategy3'}
        #builtins.__dict__['PYPDEVS_SIM_STRATEGY_DICT'] = {'original':'SimStrategy4', 'distributed':'SimStrategy5', 'parallel':'SimStrategy6'}

        builtins.__dict__['NB_HISTORY_UNDO'] = 5
        builtins.__dict__['ICON_PATH'] = 'icons'
        builtins.__dict__['ICON_PATH_16_16'] = os.path.join(ICON_PATH, '16x16')
        builtins.__dict__['_'] = gettext.gettext

        diagram = Container.Diagram()

        self.frame = DetachedFrame(None, -1, "Test", diagram)
        self.frame.Show()
        return True