Changeset 7711

Show
Ignore:
Timestamp:
05/31/08 23:02:07 (5 years ago)
Author:
stedwar2
Message:

Added an OSSIE menu command to generate skeleton code from
the component editor.

Location:
ossiedev/branches/jsnyder/ComponentProject
Files:
1 added
4 modified

Legend:

Unmodified
Added
Removed
  • ossiedev/branches/jsnyder/ComponentProject/PythonSrc/MainFrameGlue.py

    r7709 r7711  
    3939import ComponentClass as CC 
    4040import cfg 
     41import shutil 
     42 
    4143 
    4244class MainFrameTreeNode: 
     
    294296 
    295297    def generateProject(self, path): 
    296         wavedevPath = self.installPath 
     298        wavedevPath = self.pluginHome 
    297299        if wavedevPath == None or len(wavedevPath) == 0: 
    298             errorMsg(self, "installPath not set") 
    299             wavedevPath = '/sdr/' 
     300            errorMsg(self, "pluginHome not set") 
     301            wavedevPath = self.installPath + 'tools/' 
    300302        if wavedevPath[len(wavedevPath)-1] != '/': 
    301303            wavedevPath = wavedevPath + '/' 
    302         wavedevPath = wavedevPath + 'tools/WaveDev/wavedev/' 
     304        wavedevPath = wavedevPath + 'WaveDev/wavedev/' 
    303305        gen = genStruct.genAll(path, wavedevPath, copy.deepcopy(self.active_waveform)) 
    304306        gen.genDirs() 
     
    448450        cPickle.dump(('component', component), f) 
    449451        f.close() 
     452 
     453 
     454    ############################################################################ 
     455    ## Generate the Component XML and C++ 
     456    ############################################################################ 
     457    def generateComponentFiles(self, component, savepath): 
     458        if not hasattr(component, 'template'): 
     459            component.template = 'basic_ports' 
     460        #select which template to use 
     461 
     462        if component.template == "basic_ports": 
     463            import WaveDev.wavedev.generate.templates.basic_ports.genStructure as genStruct 
     464        elif component.template == "custom_ports": 
     465            import WaveDev.wavedev.generate.templates.custom_ports.genStructure as genStruct 
     466        elif component.template == "py_comp": 
     467            import WaveDev.wavedev.generate.templates.py_comp.genStructure as genStruct 
     468        else: 
     469            return component.template + ' is not supported in OnMenuComponentGenerateMenu within the componentFrame' 
     470 
     471        print 'component template = ', component.template 
     472 
     473        if savepath[len(savepath)-1] != '/': 
     474            savepath = savepath + '/' 
     475 
     476        compPath = savepath + component.name 
     477 
     478        if os.path.exists(compPath) == False: 
     479            os.mkdir(compPath) 
     480 
     481        if component.template != "py_comp": 
     482            print 'copying reconf to ', compPath 
     483            shutil.copy(self.pluginHome + 'WaveDev/wavedev/generate/reconf', compPath) 
     484        print 'copying LICENSE to ', compPath 
     485        shutil.copy(self.pluginHome + 'WaveDev/wavedev/generate/LICENSE', compPath) 
     486 
     487        if component.timing: 
     488            found_timing = False 
     489            for p in component.ports: 
     490                if p.interface.name == 'timingStatus': 
     491                    found_timing = True 
     492            if not found_timing and hasattr(self, 'timing_port'): 
     493                component.ports.append(self.timing_port) 
     494 
     495        print 'genStruct.genAll' 
     496        gen = genStruct.genAll(savepath, None) 
     497        print 'writing Makefile' 
     498        gen.writeCompMakefile(component, compPath) 
     499        print 'writing ConfAC' 
     500        gen.writeConfAC(compPath, component.name, component.ace, False, self.installPath) 
     501        print 'writing component skeleton' 
     502        gen.genCompFiles(component) 
     503 
     504        print 'writing component XML files' 
     505        component_gen.gen_scd(component, savepath) 
     506        component_gen.gen_spd(component, savepath) 
     507        component_gen.gen_prf(component, savepath) 
     508        return None 
  • ossiedev/branches/jsnyder/ComponentProject/plugin.xml

    r7702 r7711  
    9191   </extension> 
    9292   <extension 
     93         point="org.eclipse.ui.editorActions"> 
     94      <editorContribution 
     95          id="edu.vt.ossie.editors.ComponentEditor.actions" 
     96          targetID="edu.vt.ossie.editors.ComponentEditor"> 
     97         <action 
     98            id="edu.vt.ossie.actionSets.GenerateComponent" 
     99            label="Generate Component" 
     100            icon="icons/component.gif" 
     101            tooltip="Generate component's implementation skeleton" 
     102            menubarPath="edu.vt.ossie.menu/main" 
     103            class="edu.vt.ossie.actionSets.GenerateComponent"> 
     104         </action> 
     105      </editorContribution> 
     106   </extension> 
     107   <extension 
    93108         point="org.eclipse.ui.actionSets"> 
    94109      <actionSet 
    95110            id="ComponentProject.actionSet" 
    96             label="Sample Action Set" 
     111            label="OSSIE Waveform Developer Actions" 
    97112            visible="true"> 
    98113         <menu 
  • ossiedev/branches/jsnyder/ComponentProject/src/edu/vt/ossie/editors/ComponentEditor.java

    r7708 r7711  
    880880 
    881881    // ---------------------------------------------------------- 
     882    // Public so that actions can use it 
     883    public Component getComponent() 
     884    { 
     885        return component; 
     886    } 
     887 
     888 
     889    // ---------------------------------------------------------- 
    882890    private void notifyListeners(SelectionChangedEvent event) 
    883891    { 
  • ossiedev/branches/jsnyder/ComponentProject/src/edu/vt/ossie/jyinterface/interfaces/MainFrame.java

    r7706 r7711  
    3030    PyObject loadComponent(PyString fileName); 
    3131    void saveComponent(PyObject component, PyString fileName); 
     32    PyObject generateComponentFiles(PyObject component, PyString savepath); 
    3233}