# HG changeset patch # User haismail # Date 1272451848 -10800 # Node ID 217e69fc5bebd60fba82c780db08c5601cfe81b8 # Parent 2715b6594cd95c0c7e9568ddfff9747fb114e542 iMaker 3.1.0 diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.carbide.extensions.imaker/feature.xml --- a/imakerplugin/com.nokia.carbide.extensions.imaker/feature.xml Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.carbide.extensions.imaker/feature.xml Wed Apr 28 13:50:48 2010 +0300 @@ -2,7 +2,7 @@ diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker.doc.user/META-INF/MANIFEST.MF --- a/imakerplugin/com.nokia.s60tools.imaker.doc.user/META-INF/MANIFEST.MF Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker.doc.user/META-INF/MANIFEST.MF Wed Apr 28 13:50:48 2010 +0300 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: Carbide.c++ Extensions - iMaker Help Bundle-SymbolicName: com.nokia.s60tools.imaker.doc.user;singleton:=true -Bundle-Version: 3.0.0 +Bundle-Version: 3.1.0 Bundle-Activator: com.nokia.s60tools.imaker.help.internal.HelpPlugin Bundle-Vendor: Nokia Bundle-Localization: plugin diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker.doc.user/html/contexts.xml --- a/imakerplugin/com.nokia.s60tools.imaker.doc.user/html/contexts.xml Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker.doc.user/html/contexts.xml Wed Apr 28 13:50:48 2010 +0300 @@ -3,33 +3,51 @@ - - Product makefiles + + Product selection + + List of all files where data values are saved + + + + Add binary or data files to the image. Refer to see also below for more information. + + + + + To modify the values of the variables of the selected product. + + + + + Settings related to PlatSim + + - + List of available targets - - Target(s) for which to build an image + + Target(s) for which to build an image. Specifies what to build. - - Type of image to build + + Type of image to build. Passed as TYPE=<type> to imaker commandline tool. - + Build flags to specify image characteristics. Symbol files will create symbolic files and verbose will cause iMaker commandline tool to print additional information - + Additional build parameters to insert for iMaker commandline tool @@ -39,5 +57,10 @@ Help for iMakerPlugin + + + Help for iMakerPlugin + + diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker.doc.user/html/getting_started.html --- a/imakerplugin/com.nokia.s60tools.imaker.doc.user/html/getting_started.html Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker.doc.user/html/getting_started.html Wed Apr 28 13:50:48 2010 +0300 @@ -9,12 +9,11 @@ will help you get started quickly using the basic features of iMaker.

Before you can create images with the iMaker, the following conditions must be met:

Build ROM images by following these steps:

  1. Build image via iMaker Dialog.
  2. -
  3. Use previously saved preferences.
  4. -

While the image is being built, a build log can be seen in an editor -in Carbide.c++.

+
  • Build image via saved preferences.
  • +

    While the image is being built, a build log can be seen in the console in Carbide.c++.

    diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker.doc.user/html/tasks/images/content_tab.png Binary file imakerplugin/com.nokia.s60tools.imaker.doc.user/html/tasks/images/content_tab.png has changed diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker.doc.user/html/tasks/images/debug_tab.png Binary file imakerplugin/com.nokia.s60tools.imaker.doc.user/html/tasks/images/debug_tab.png has changed diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker.doc.user/html/tasks/images/iMakerPluginPreferences.png Binary file imakerplugin/com.nokia.s60tools.imaker.doc.user/html/tasks/images/iMakerPluginPreferences.png has changed diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker.doc.user/html/tasks/images/iMakerPluginPreferencesDetails.png Binary file imakerplugin/com.nokia.s60tools.imaker.doc.user/html/tasks/images/iMakerPluginPreferencesDetails.png has changed diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker.doc.user/html/tasks/images/iMakerPluginSaveAction.png Binary file imakerplugin/com.nokia.s60tools.imaker.doc.user/html/tasks/images/iMakerPluginSaveAction.png has changed diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker.doc.user/html/tasks/images/launch_imaker.png Binary file imakerplugin/com.nokia.s60tools.imaker.doc.user/html/tasks/images/launch_imaker.png has changed diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker.doc.user/html/tasks/images/platsim_tab.png Binary file imakerplugin/com.nokia.s60tools.imaker.doc.user/html/tasks/images/platsim_tab.png has changed diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker.doc.user/html/tasks/taskPreferences.html --- a/imakerplugin/com.nokia.s60tools.imaker.doc.user/html/tasks/taskPreferences.html Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker.doc.user/html/tasks/taskPreferences.html Wed Apr 28 13:50:48 2010 +0300 @@ -8,34 +8,56 @@ -

    Managing preferences

    +

    Managing image creation preferences

    Before you can build a ROM image, you must define the preferences for a configuration. In iMaker, -a configuration can be thought of as a container of product and other information.

    +a configuration can be thought of as a container of product and other information. Follow these steps to create a ROM image with the specified settings:

      -
    1. Select the project that you want to use as the basis for image creation.
    2. -
    3. Select Open iMaker Dialog... option from the iMaker pulldown menu on the toolbar. iMaker Extension will now start scanning the environtment to query +
    4. Select the project that you want to use as the basis for image creation from carbide.c++ Project Explorer view.
    5. +
    6. Select Open iMaker Dialog... option from the iMaker pulldown menu on the toolbar see below image.

      iMaker Extension will now start scanning the environtment to query information from the underlying iMaker commandline tool. This may take a while, but this action occurs only once for each project.
    7. When the iMaker Dialog is opened, it is populated with data from the active environment. Default product is selected if one is configured, otherwise the first product is selected. User can change the product using the Change... button. Example is shown bellow.

    8. Once data is filled in the fields, a flashable image can be created. Press -the Run button at the bottom of the dialog. Remember to add the desired targets to the selected list of targets.
    9. +the Run button at the bottom of the dialog. Remember to add the desired targets to the selected list of targets. Usual targets include flash, core, variant etc..
    -

    Saving the preferences for a configuration

    -

    To save the fields of a configuration to a file, do the following:

      +

      Saving the preferences

      +

      To save the specified data values in the dialog to a file, do the following:

      1. Press the Save as...
      2. -
      3. Choose the parent folder where to save the file, it is recommended to save under the selected project. See below image.

      4. +
      5. Choose the parent folder where to save the file, it is recommended to save under the selected project. See below image.

        Specify name and press finish
      6. All saved preferences are visible in the configuration combobox on the top of the dialog. Any of these saved files can be activated and used for image creation.
      7. -

        Settings tab

        To modify the values +

        Settings tab

        To modify the values of the variables of the selected product (or makefile), select the Settings - tab in the iMaker dialog. See the following example:

        Through this tab user can override the default variable values in the iMaker core. Any modified parameter will be passed to iMaker cmd throuht execution command.

        + tab in the iMaker dialog. See the following example:

        Through this tab user can override the default variable values in the iMaker core. Any modified parameter will be passed to iMaker cmd through execution command. -

        Debug tab

        -

        The debug tab allows user to add binary and data files to the image. These files can be added to different sections of the image. The binary files can be easy changed to debug versions. Currently CORE and ROFS sections are supported. -Files cannot be added to UDA for example through this tab.
        -

        - +

        Content tab

        +

        The content tab allows user to add binary and data files to the image. These files can be added to different sections of the image. Currently CORE and ROFS sections are supported. Files can also be removed, hidden or changes to udeb/urel version. The Actions column provides the list of available actions. +Files cannot be added to UDA through this tab.
        +

        +

        Table fields: +

          +
        • Enable: Enablement, only enabled items are saved or taken to the image
        • +
        • File: Component source location. The source file must exist in the file system.
        • +
        • Target: Component target location in the device.
        • +
        • Location: Image section. Possible values:
          • core - core section of the image
          • rofs2 - rofs2 section of the image
          • rofs3 - rofs3 or customer section of the image
        • +
        • Action: Action to perform with the component. Possible values:
          • udeb - take udeb version of the component to the image
          • udeb-add - take udeb version of the component, add the component to the specified image section if it is not already there
          • +
          • urel - take urel version of the component to the image
          • urel-add - take urel version of the component, add the component to the specified image section if it is not already there
          • +
          • remove - remove the component from the specified image section
          • +
          • hide - hide the component in the specified image section
          • +
          • replace - replace the component in the image section specified, if the component does not exist then do nothing
          • +
          • replace-add - Replace the component in the image section specified, if the component does not exist then add it as a new component
          • +
        • +
        +

        +

        Right buttons: +

          +
        • Add: Add a new component to the list, causes a dialog to pop-up
        • +
        • Remove: Remove selected component from the list
        • +
        • Duplicate: Duplicate the selected component e.g. add a new entry with same File and Target as the selected one. The entry is added below the selected entry
        • +
        • Populate: Add the binaries and any resource-type files generated by all mmp files in the selected project
        • +
        +

        Platsim tab

        The contents of the platsim tab will be enabled, when you select a valid platsim configuration from the main tab. The platsim configuration must define USE_PLATSIM variable, in order it to be consider as valid. This variable must be non-empty. Users can edit the platsim configuration makefile and add USE_PLATSIM=1 then restart carbide.c++. Currently only all target is supported. All diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker.doc.user/html/tool.html --- a/imakerplugin/com.nokia.s60tools.imaker.doc.user/html/tool.html Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker.doc.user/html/tool.html Wed Apr 28 13:50:48 2010 +0300 @@ -22,7 +22,7 @@

        Legal diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker.doc.user/plugin.xml --- a/imakerplugin/com.nokia.s60tools.imaker.doc.user/plugin.xml Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker.doc.user/plugin.xml Wed Apr 28 13:50:48 2010 +0300 @@ -50,7 +50,7 @@ + plugin="com.nokia.s60tools.imaker.doc.user"/> diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker.doc.user/src/com/nokia/s60tools/imaker/help/internal/Activator.java --- a/imakerplugin/com.nokia.s60tools.imaker.doc.user/src/com/nokia/s60tools/imaker/help/internal/Activator.java Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker.doc.user/src/com/nokia/s60tools/imaker/help/internal/Activator.java Wed Apr 28 13:50:48 2010 +0300 @@ -25,7 +25,7 @@ public class Activator extends AbstractUIPlugin { // The plug-in ID - public static final String PLUGIN_ID = "com.nokia.s60tools.imakerplugin.help"; + public static final String PLUGIN_ID = "com.nokia.s60tools.imaker.doc.user"; // The shared instance private static Activator plugin; diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker.tests/META-INF/MANIFEST.MF --- a/imakerplugin/com.nokia.s60tools.imaker.tests/META-INF/MANIFEST.MF Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker.tests/META-INF/MANIFEST.MF Wed Apr 28 13:50:48 2010 +0300 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: Tests Bundle-SymbolicName: com.nokia.s60tools.imaker.tests -Bundle-Version: 3.0.0 +Bundle-Version: 3.1.0 Bundle-Activator: com.nokia.s60tools.imaker.internal.tests.Activator Bundle-Vendor: NOKIA Bundle-Localization: plugin diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker.tests/src/com/nokia/s60tools/imaker/internal/impmodel/tests/ImpResourceLoadTests.java --- a/imakerplugin/com.nokia.s60tools.imaker.tests/src/com/nokia/s60tools/imaker/internal/impmodel/tests/ImpResourceLoadTests.java Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker.tests/src/com/nokia/s60tools/imaker/internal/impmodel/tests/ImpResourceLoadTests.java Wed Apr 28 13:50:48 2010 +0300 @@ -133,7 +133,7 @@ String content = "#comment1\nvar1 = foo\n" + "define IMAGE_ORIDECONF\n" + "\tekern.exe udeb core\n" + - "\tAbout.r01 hie rofs2\n" + + "\tAbout.r01 hide rofs2\n" + "endef"; populateTestFile(content); @@ -158,7 +158,7 @@ "#trace configurations\n" + "define IMAGE_ORIDECONF\n" + "\tekern.exe udeb core\n" + - "\tAbout.r01 hie rofs2\n" + + "\tAbout.r01 hide rofs2\n" + "endef"; populateTestFile(content); @@ -196,7 +196,7 @@ "#trace configurations\n" + "define IMAGE_ORIDECONF\n" + "\tekern.exe udeb core\n" + - "\tAbout.r01 hie rofs2\n" + + "\tAbout.r01 hide rofs2\n" + "endef"; populateTestFile(content); diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker.tests/src/com/nokia/s60tools/imaker/internal/impmodel/tests/ImpResourceSaveTests.java --- a/imakerplugin/com.nokia.s60tools.imaker.tests/src/com/nokia/s60tools/imaker/internal/impmodel/tests/ImpResourceSaveTests.java Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker.tests/src/com/nokia/s60tools/imaker/internal/impmodel/tests/ImpResourceSaveTests.java Wed Apr 28 13:50:48 2010 +0300 @@ -82,7 +82,7 @@ assertEquals(comment.getComment(), cm.getComment()); } - public void testSavingDocumentWithVariabless() throws Exception { + public void testSavingDocumentWithVariables() throws Exception { String name = "foo"; String value = "bar"; diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker.tests/src/com/nokia/s60tools/imaker/internal/model/iContent/tests/ImageContentTest.java --- a/imakerplugin/com.nokia.s60tools.imaker.tests/src/com/nokia/s60tools/imaker/internal/model/iContent/tests/ImageContentTest.java Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker.tests/src/com/nokia/s60tools/imaker/internal/model/iContent/tests/ImageContentTest.java Wed Apr 28 13:50:48 2010 +0300 @@ -19,6 +19,7 @@ import junit.framework.TestCase; +import com.nokia.s60tools.imaker.internal.model.iContent.ACTION; import com.nokia.s60tools.imaker.internal.model.iContent.IContentFactory; import com.nokia.s60tools.imaker.internal.model.iContent.IMAGESECTION; import com.nokia.s60tools.imaker.internal.model.iContent.IbyEntry; @@ -42,7 +43,7 @@ assertTrue(content.getEntries().size()==0); IbyEntry ie = IContentFactory.eINSTANCE.createIbyEntry(); - ie.setDebug(true); + ie.setAction(ACTION.HIDE); ie.setEnabled(false); String file = "huuhaa.exe"; ie.setFile(file); diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker.tests/src/com/nokia/s60tools/imaker/internal/tests/ImakerPropertiesTest.java --- a/imakerplugin/com.nokia.s60tools.imaker.tests/src/com/nokia/s60tools/imaker/internal/tests/ImakerPropertiesTest.java Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker.tests/src/com/nokia/s60tools/imaker/internal/tests/ImakerPropertiesTest.java Wed Apr 28 13:50:48 2010 +0300 @@ -40,6 +40,7 @@ import com.nokia.s60tools.imaker.internal.impmodel.Variable; import com.nokia.s60tools.imaker.internal.impmodel.util.ImpResourceFactoryImpl; import com.nokia.s60tools.imaker.internal.model.ImakerProperties; +import com.nokia.s60tools.imaker.internal.model.iContent.ACTION; import com.nokia.s60tools.imaker.internal.model.iContent.IContentFactory; import com.nokia.s60tools.imaker.internal.model.iContent.IMAGESECTION; import com.nokia.s60tools.imaker.internal.model.iContent.IbyEntry; @@ -125,7 +126,7 @@ assertEquals(true, iby.isEnabled()); assertEquals("\\epoc32\\release\\ARMV5\\UDEB\\HelloConsole1.exe", iby.getFile()); assertEquals("\\sys\\bin\\HelloConsole1.exe", iby.getTarget()); - assertEquals("CORE", iby.getLocation().getLiteral()); + assertEquals("core", iby.getLocation().getLiteral()); } public void testSavingToFileMainTab() throws Exception { @@ -173,7 +174,7 @@ IbyEntry entry = IContentFactory.eINSTANCE.createIbyEntry(); entry.setEnabled(true); - entry.setDebug(true); + entry.setAction(ACTION.HIDE); entry.setFile("file1"); entry.setLocation(IMAGESECTION.CORE); entry.setTarget("target1"); @@ -181,7 +182,7 @@ entry = IContentFactory.eINSTANCE.createIbyEntry(); entry.setEnabled(false); - entry.setDebug(true); + entry.setAction(ACTION.REMOVE); entry.setFile("file2"); entry.setLocation(IMAGESECTION.ROFS3); entry.setTarget("target2"); @@ -189,7 +190,7 @@ entry = IContentFactory.eINSTANCE.createIbyEntry(); entry.setEnabled(true); - entry.setDebug(true); + entry.setAction(ACTION.REPLACE); entry.setFile("file3"); entry.setLocation(IMAGESECTION.ROFS3); entry.setTarget("target3"); diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker/META-INF/MANIFEST.MF --- a/imakerplugin/com.nokia.s60tools.imaker/META-INF/MANIFEST.MF Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker/META-INF/MANIFEST.MF Wed Apr 28 13:50:48 2010 +0300 @@ -3,7 +3,7 @@ Bundle-Name: %plugin.Name Bundle-SymbolicName: com.nokia.s60tools.imaker;singleton:=true Bundle-ToolName: iMaker - Carbide.c++ extension -Bundle-Version: 3.0.0 +Bundle-Version: 3.1.0 Bundle-Date: 01-10-2009 Bundle-RepositoryVersion: n/a Bundle-Activator: com.nokia.s60tools.imaker.IMakerPlugin diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker/about.properties --- a/imakerplugin/com.nokia.s60tools.imaker/about.properties Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker/about.properties Wed Apr 28 13:50:48 2010 +0300 @@ -22,7 +22,7 @@ productBlurb=Carbide.c++ Extensions - iMaker \n\ \n\ -Version: 3.0.0\n\ +Version: 3.1.0\n\ Build id: {0}\n\ \n\ \n\ diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker/doc/Test_Summary_ iMakerPlugin_3_0_0.xls Binary file imakerplugin/com.nokia.s60tools.imaker/doc/Test_Summary_ iMakerPlugin_3_0_0.xls has changed diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker/doc/Test_Summary_ iMakerPlugin_3_1_0.xls Binary file imakerplugin/com.nokia.s60tools.imaker/doc/Test_Summary_ iMakerPlugin_3_1_0.xls has changed diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker/doc/change_log_3_0_0.txt --- a/imakerplugin/com.nokia.s60tools.imaker/doc/change_log_3_0_0.txt Wed Apr 21 11:49:56 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,97 +0,0 @@ -Product Description: -==================== -The iMaker extension for Carbide.c++ is a tool for building ROM images. Its core functionality is implemented in a command line executable called imaker.cmd. -The iMaker offers a Carbide.c++ integration that provides a graphical user interface for the imaker.cmd command line tool. The iMaker enables you to set and -modify the build parameters that are used by iMaker. - -Image building process is started by launching iMaker dialog by choosing the Open iMaker Dialog... menu item from iMaker pulldown menu (hammer with 'i') on the Carbide.c++ toolbar. -The ROM image is built using the preferences configured in this dialog. Although not necessary, these preferences can be saved for future use for image building if needed. -Once preferences are configured, an image can be built by clicking the Run button in the dialog. - -Version 3.0.0 -=========================================== -New Features -Ticket #1136: As a iMaker plugin user I don't want to load all the product configurations when starting the plugin (takes too long) -Ticket #1188: As a Carbide.c++ user I want to modify my .IMP file using iMaker plugin -Ticket #1137: Rename debug tab in iMaker plugin to something else -Ticket #1055: As a SW developer I don't want to have temporary files in my Carbide.c++ workspace -Ticket #1245: Update target selection required to avoid yellow warnings on content tab -Ticket #1135: As a iMaker plugin user i want to reload available configurations (reload the current configuration) -Ticket #1099: As a developer I want to enable/disable selected files so that I don't need to manually select each one separately - -Enhancements -License changed from SFL to EPL -Total number of unit tests almost doubled - -Error fixes -Fixed invalid imp file selection problem - -Version 2.2.4 -=========================================== -New Features -Ticket #1052: As a SW developer I don't want to have pop-up suggesting to add generated makefile to bld.inf because I consider that as a temporary file -Ui changes to debug tab related to Ticket #1053. Ability to remember environment specific previous run. Only enabled entries in the debug tab are included to the images. -Ticket #1053: As a SW developer I want to add automatically all build files to debug dialog so that my manual work is minimized -Ticket #1115: As a Carbide.c++ developer I want to use iMaker plugin API to create images with .imp file - -Enhancements -iMaker plugin code separated to internal and public API - -Error fixes -iMaker plugin to show appropriate error message if iMaker Core execution fails - -Version 2.2.0 -=========================================== -New Features -- New simplified UI -- Automatic environment recognition based on Carbide.c++ workspace/project -- Automatic selection of default product and variant of the environment (needs AMPI configuration in iMaker makefiles) -- Summary for the created images in console window -- Platsim integration -- Support for adding binaries to image in urel/udeb mode. -- Possibility to cancel fetching on configurations - -Enhancements -- Handling of imp files - -Error fixes - -Version 2.1.2 -=========================================== -New Features - -Enhancements -- Help updated -- code cleaned -- copy right headers updated - -Error fixes -- two error fixed relating to the interface with iMaker core - -Version 2.1.1 -=========================================== -New Features -#365 The imaker plugin should be able to notice the success/failure of imaker image creation -#630 Better integration to S60 Configuration Tool - -Enhancements - -Error fixes -Fixed to work with iMaker 08.4x.xx interface changes - -Version 2.1.0 -=========================================== -New Features: -- The structure and implementation has been changed. -- The preferences pages are no longer used. -- An independent dialog has been implemented for the iMaker extension. -- New way of managing preferences files have been implemented. -- A list has been added which displays prefereneces files and which allows deletation and creatation of new file. -- Renaming of preferences files has been added. -- The detailed settings page has been made editable. -- Better integration with S60 Configuration Tool has been implemented. - -Enhancements: -- Querying of configuration from the environment has been enhanced. -- Editing and saving has been enhanced. -- Querying of targets and variables from one product. \ No newline at end of file diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker/doc/change_log_3_1_0.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imakerplugin/com.nokia.s60tools.imaker/doc/change_log_3_1_0.txt Wed Apr 28 13:50:48 2010 +0300 @@ -0,0 +1,111 @@ +Product Description: +==================== +The iMaker extension for Carbide.c++ is a tool for building ROM images. Its core functionality is implemented in a command line executable called imaker.cmd. +The iMaker offers a Carbide.c++ integration that provides a graphical user interface for the imaker.cmd command line tool. The iMaker enables you to set and +modify the build parameters that are used by iMaker. + +Image building process is started by launching iMaker dialog by choosing the Open iMaker Dialog... menu item from iMaker pulldown menu (hammer with 'i') on the Carbide.c++ toolbar. +The ROM image is built using the preferences configured in this dialog. Although not necessary, these preferences can be saved for future use for image building if needed. +Once preferences are configured, an image can be built by clicking the Run button in the dialog. + +Version 3.1.0 +=========================================== +New Features +Ticket #1255: As iMaker plugin user I want to hide/remove binaries from rom or with rofs section so that I can populate debug binaries via Trk or User disk + +Enhancements +Small improvements to the UI (e.g. made dialog resizable) +Help updated +Better support of .imp file format + +Error fixes +Reload button functionality +Populate button functionality + +Version 3.0.0 +=========================================== +New Features +Ticket #1136: As a iMaker plugin user I don't want to load all the product configurations when starting the plugin (takes too long) +Ticket #1188: As a Carbide.c++ user I want to modify my .IMP file using iMaker plugin +Ticket #1137: Rename debug tab in iMaker plugin to something else +Ticket #1055: As a SW developer I don't want to have temporary files in my Carbide.c++ workspace +Ticket #1245: Update target selection required to avoid yellow warnings on content tab +Ticket #1135: As a iMaker plugin user i want to reload available configurations (reload the current configuration) +Ticket #1099: As a developer I want to enable/disable selected files so that I don't need to manually select each one separately + +Enhancements +License changed from SFL to EPL +Total number of unit tests almost doubled + +Error fixes +Fixed invalid imp file selection problem + +Version 2.2.4 +=========================================== +New Features +Ticket #1052: As a SW developer I don't want to have pop-up suggesting to add generated makefile to bld.inf because I consider that as a temporary file +Ui changes to debug tab related to Ticket #1053. Ability to remember environment specific previous run. Only enabled entries in the debug tab are included to the images. +Ticket #1053: As a SW developer I want to add automatically all build files to debug dialog so that my manual work is minimized +Ticket #1115: As a Carbide.c++ developer I want to use iMaker plugin API to create images with .imp file + +Enhancements +iMaker plugin code separated to internal and public API + +Error fixes +iMaker plugin to show appropriate error message if iMaker Core execution fails + +Version 2.2.0 +=========================================== +New Features +- New simplified UI +- Automatic environment recognition based on Carbide.c++ workspace/project +- Automatic selection of default product and variant of the environment (needs AMPI configuration in iMaker makefiles) +- Summary for the created images in console window +- Platsim integration +- Support for adding binaries to image in urel/udeb mode. +- Possibility to cancel fetching on configurations + +Enhancements +- Handling of imp files + +Error fixes + +Version 2.1.2 +=========================================== +New Features + +Enhancements +- Help updated +- code cleaned +- copy right headers updated + +Error fixes +- two error fixed relating to the interface with iMaker core + +Version 2.1.1 +=========================================== +New Features +#365 The imaker plugin should be able to notice the success/failure of imaker image creation +#630 Better integration to S60 Configuration Tool + +Enhancements + +Error fixes +Fixed to work with iMaker 08.4x.xx interface changes + +Version 2.1.0 +=========================================== +New Features: +- The structure and implementation has been changed. +- The preferences pages are no longer used. +- An independent dialog has been implemented for the iMaker extension. +- New way of managing preferences files have been implemented. +- A list has been added which displays prefereneces files and which allows deletation and creatation of new file. +- Renaming of preferences files has been added. +- The detailed settings page has been made editable. +- Better integration with S60 Configuration Tool has been implemented. + +Enhancements: +- Querying of configuration from the environment has been enhanced. +- Editing and saving has been enhanced. +- Querying of targets and variables from one product. \ No newline at end of file diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker/model/debug.ecore --- a/imakerplugin/com.nokia.s60tools.imaker/model/debug.ecore Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker/model/debug.ecore Wed Apr 28 13:50:48 2010 +0300 @@ -11,13 +11,24 @@ - + - - - + + + + + + + + + + + + + + diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/ImageFlasherHelpContextIDs.java --- a/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/ImageFlasherHelpContextIDs.java Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/ImageFlasherHelpContextIDs.java Wed Apr 28 13:50:48 2010 +0300 @@ -28,17 +28,20 @@ * to here to avoid runtime dependency to help project */ private static final String IMAKERPLUGIN_HELP_PROJECT_PLUGIN_ID = - "com.nokia.s60tools.imaker.help"; + "com.nokia.s60tools.imaker.doc.user"; + public static final String IMAKERDIALOG_CONFIGURATION = + IMAKERPLUGIN_HELP_PROJECT_PLUGIN_ID +".IMAKERDIALOG_CONFIGURATION"; + public static final String IMAKERPLUGIN_HELP_PRODUCT = IMAKERPLUGIN_HELP_PROJECT_PLUGIN_ID +".IMAKERPLUGIN_HELP_PRODUCT"; - + public static final String IMAKERPLUGIN_HELP_TARGETS = IMAKERPLUGIN_HELP_PROJECT_PLUGIN_ID +".IMAKERPLUGIN_HELP_TARGETS"; public static final String IMAKERPLUGIN_HELP_SELECTED_TARGETS = - IMAKERPLUGIN_HELP_PROJECT_PLUGIN_ID +".IMAKERPLUGIN_HELP_TARGET_LIST"; + IMAKERPLUGIN_HELP_PROJECT_PLUGIN_ID +".IMAKERPLUGIN_HELP_SELECTED_TARGETS"; public static final String IMAKERPLUGIN_HELP_IMAGE_TYPE = IMAKERPLUGIN_HELP_PROJECT_PLUGIN_ID +".IMAKERPLUGIN_HELP_IMAGE_TYPE"; @@ -54,5 +57,17 @@ public static final String IMAKERPLUGIN_HELP = IMAKERPLUGIN_HELP_PROJECT_PLUGIN_ID +".IMAKERPLUGIN_HELP"; + + public static final String IMAKER_DEBUGTAB_TABLE = + IMAKERPLUGIN_HELP_PROJECT_PLUGIN_ID + ".IMAKER_DEBUGTAB_TABLE"; + + public static final String IMAKERDIALOG_CONTENTTAB = + IMAKERPLUGIN_HELP_PROJECT_PLUGIN_ID + ".IMAKERDIALOG_CONTENTTAB"; + + public static final String IMAKERDIALOG_SETTINGSTAB = + IMAKERPLUGIN_HELP_PROJECT_PLUGIN_ID + ".IMAKERDIALOG_SETTINGSTAB"; + + public static final String IMAKERDIALOG_PLATSIMTAB = + IMAKERPLUGIN_HELP_PROJECT_PLUGIN_ID + ".IMAKERDIALOG_PLATSIMTAB"; } diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/dialogs/LaunchIMakerDialog.java --- a/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/dialogs/LaunchIMakerDialog.java Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/dialogs/LaunchIMakerDialog.java Wed Apr 28 13:50:48 2010 +0300 @@ -209,7 +209,6 @@ setFilePath(imakerTabsViewer.handleRunPressed()); okPressed(); } else if (buttonId == ID_CLOSE_BUTTON) { -// imakerTabsViewer.handleRunPressed(); cancelPressed(); } else { super.buttonPressed(buttonId); @@ -221,6 +220,12 @@ return DEFAULT_INITIAL_DIALOG_SIZE; } + @Override + protected boolean isResizable() { + return true; + } + + /** * Sets the viewer used to display the tabs for a launch configuration. * diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/managers/ProjectManager.java --- a/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/managers/ProjectManager.java Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/managers/ProjectManager.java Wed Apr 28 13:50:48 2010 +0300 @@ -238,7 +238,7 @@ ICarbideBuildConfiguration buildConfig = cpi.getDefaultConfiguration(); String filename = null; - boolean debug = "udeb".equalsIgnoreCase(buildConfig.getTargetString()); +// boolean debug = "udeb".equalsIgnoreCase(buildConfig.getTargetString()); // add the binaries and any resource-type files generated by all mmp files in the project for (IPath mmp : EpocEngineHelper.getMMPFilesForBuildConfiguration(buildConfig)) { IPath hp = EpocEngineHelper.getHostPathForExecutable(buildConfig, mmp); @@ -248,14 +248,14 @@ // add component executable if (hp != null) { - addEntry(ic, debug, hp.toOSString(), tp.toOSString(), filename); + addEntry(ic, hp.toOSString(), tp.toOSString(), filename); } HashMap hostTargetRSRCMap = EpocEngineHelper.getHostAndTargetResources(buildConfig, mmp); // Add resource files... for (String key : hostTargetRSRCMap.keySet()) { filename = new File(key).getName(); - addEntry(ic, false, key, hostTargetRSRCMap.get(key),filename); + addEntry(ic, key, hostTargetRSRCMap.get(key),filename); } } @@ -263,12 +263,12 @@ HashMap hostTargetImagesMap = EpocEngineHelper.getHostAndTargetImages(buildConfig); for (String key : hostTargetImagesMap.keySet()) { filename = new File(key).getName(); - addEntry(ic, false, key, hostTargetImagesMap.get(key), filename); + addEntry(ic, key, hostTargetImagesMap.get(key), filename); } } } - private void addEntry(ImageContent ic, boolean debug, + private void addEntry(ImageContent ic, String hp, String tp, String filename) { IbyEntry entry = IContentFactory.eINSTANCE.createIbyEntry(); if(hp.length()>2) { @@ -287,7 +287,6 @@ tp = tp.substring(2); } entry.setTarget(tp); - entry.setDebug(debug); boolean contains = false; for (IbyEntry e : ic.getEntries()) { if(e.equals(entry)) { diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/model/ImakerProperties.java --- a/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/model/ImakerProperties.java Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/model/ImakerProperties.java Wed Apr 28 13:50:48 2010 +0300 @@ -26,8 +26,6 @@ import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.common.util.URI; @@ -50,6 +48,7 @@ import com.nokia.s60tools.imaker.internal.impmodel.util.BasicTokenizer; import com.nokia.s60tools.imaker.internal.impmodel.util.ImpResourceImpl; import com.nokia.s60tools.imaker.internal.managers.ProjectManager; +import com.nokia.s60tools.imaker.internal.model.iContent.ACTION; import com.nokia.s60tools.imaker.internal.model.iContent.IContentFactory; import com.nokia.s60tools.imaker.internal.model.iContent.IMAGESECTION; import com.nokia.s60tools.imaker.internal.model.iContent.IbyEntry; @@ -123,13 +122,17 @@ for (int i = 0; i < entries.size(); i++) { FileListEntry fEntry = entries.get(i); EList actions = fEntry.getActions(); - if (!actions.isEmpty()) { - ConfigEntry action = actions.get(0); + for (ConfigEntry action : actions) { IbyEntry iby = IContentFactory.eINSTANCE.createIbyEntry(); iby.setEnabled(true); iby.setFile(fEntry.getSource()); iby.setTarget(fEntry.getTarget()); - iby.setLocation(IMAGESECTION.get(action.getLocation())); + if(action.getLocation().equals(IMAGESECTION.ANY.getLiteral())) { + iby.setLocation(IMAGESECTION.ANY); + } else { + iby.setLocation(IMAGESECTION.get(action.getLocation())); + } + iby.setAction(ACTION.get(action.getAction())); ibyEntries.add(iby); } } @@ -212,6 +215,7 @@ List entries = (List) oEntries; OverrideFiles files = factory.createOverrideFiles(); OverrideConfiguration confs = factory.createOverrideConfiguration(); + for (IbyEntry ibyEntry : entries) { if(!ibyEntry.isEnabled()) { continue; //Notice skipping disabled entries @@ -220,17 +224,20 @@ ConfigEntry configEntry = factory.createConfigEntry(); fileEntry.setSource(ibyEntry.getFile()); fileEntry.setTarget(ibyEntry.getTarget()); - files.getEntries().add(fileEntry); + if(!containsComponentEntry(files,fileEntry)) { + files.getEntries().add(fileEntry); + } // configEntry.setTarget(ibyEntry.getTarget()); - configEntry.setAction("replace-add"); - configEntry.setLocation(ibyEntry.getLocation().getName().toLowerCase()); + configEntry.setAction(ibyEntry.getAction().getLiteral()); + configEntry.setLocation(ibyEntry.getLocation().getLiteral()); confs.getEntries().add(configEntry); } + if(!files.getEntries().isEmpty()) { + doc.getOrideConfs().add(confs); doc.getOrideFiles().add(files); - doc.getOrideConfs().add(confs); } } @@ -238,6 +245,18 @@ return doc; } + private boolean containsComponentEntry(OverrideFiles files, + FileListEntry fileEntry) { + boolean found = false; + for (FileListEntry entry : files.getEntries()) { + if (entry.getSource().equals(fileEntry.getSource()) + && entry.getTarget().equals(fileEntry.getTarget())) { + found = true; + } + } + return found; + } + private void addPlatsimVariables(Properties clone, ImpDocument doc, ImpmodelFactory factory) { addVariable(doc, factory, ImpConstants.PLATSIM_INSTANCE, (String) clone diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/model/iContent/ACTION.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/model/iContent/ACTION.java Wed Apr 28 13:50:48 2010 +0300 @@ -0,0 +1,380 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ +package com.nokia.s60tools.imaker.internal.model.iContent; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.eclipse.emf.common.util.Enumerator; + +/** + * + * A representation of the literals of the enumeration 'ACTION', + * and utility methods for working with them. + * + * @see com.nokia.s60tools.imaker.internal.model.iContent.IContentPackage#getACTION() + * @model + * @generated + */ +public enum ACTION implements Enumerator { + /** + * The 'UDEB' literal object. + * + * + * @see #UDEB_VALUE + * @generated + * @ordered + */ + UDEB(0, "UDEB", "udeb"), /** + * The 'REMOVE' literal object. + * + * + * @see #REMOVE_VALUE + * @generated + * @ordered + */ + REMOVE(1, "REMOVE", "remove"), /** + * The 'HIDE' literal object. + * + * + * @see #HIDE_VALUE + * @generated + * @ordered + */ + HIDE(2, "HIDE", "hide"), + + /** + * The 'UDEB ADD' literal object. + * + * + * @see #UDEB_ADD_VALUE + * @generated + * @ordered + */ + UDEB_ADD(3, "UDEB_ADD", "udeb-add"), + + /** + * The 'UREL' literal object. + * + * + * @see #UREL_VALUE + * @generated + * @ordered + */ + UREL(4, "UREL", "urel"), + + /** + * The 'UREL ADD' literal object. + * + * + * @see #UREL_ADD_VALUE + * @generated + * @ordered + */ + UREL_ADD(5, "UREL_ADD", "urel-add"), + + /** + * The 'REPLACE' literal object. + * + * + * @see #REPLACE_VALUE + * @generated + * @ordered + */ + REPLACE(6, "REPLACE", "replace"), + + /** + * The 'REPLACE ADD' literal object. + * + * + * @see #REPLACE_ADD_VALUE + * @generated + * @ordered + */ + REPLACE_ADD(7, "REPLACE_ADD", "replace-add"); + + /** + * The 'UDEB' literal value. + * + *

        + * If the meaning of 'UDEB' literal object isn't clear, + * there really should be more of a description here... + *

        + * + * @see #UDEB + * @model literal="udeb" + * @generated + * @ordered + */ + public static final int UDEB_VALUE = 0; + + /** + * The 'REMOVE' literal value. + * + *

        + * If the meaning of 'REMOVE' literal object isn't clear, + * there really should be more of a description here... + *

        + * + * @see #REMOVE + * @model literal="remove" + * @generated + * @ordered + */ + public static final int REMOVE_VALUE = 1; + + /** + * The 'HIDE' literal value. + * + *

        + * If the meaning of 'HIDE' literal object isn't clear, + * there really should be more of a description here... + *

        + * + * @see #HIDE + * @model literal="hide" + * @generated + * @ordered + */ + public static final int HIDE_VALUE = 2; + + /** + * The 'UDEB ADD' literal value. + * + *

        + * If the meaning of 'UDEB ADD' literal object isn't clear, + * there really should be more of a description here... + *

        + * + * @see #UDEB_ADD + * @model literal="udeb-add" + * @generated + * @ordered + */ + public static final int UDEB_ADD_VALUE = 3; + + /** + * The 'UREL' literal value. + * + *

        + * If the meaning of 'UREL' literal object isn't clear, + * there really should be more of a description here... + *

        + * + * @see #UREL + * @model literal="urel" + * @generated + * @ordered + */ + public static final int UREL_VALUE = 4; + + /** + * The 'UREL ADD' literal value. + * + *

        + * If the meaning of 'UREL ADD' literal object isn't clear, + * there really should be more of a description here... + *

        + * + * @see #UREL_ADD + * @model literal="urel-add" + * @generated + * @ordered + */ + public static final int UREL_ADD_VALUE = 5; + + /** + * The 'REPLACE' literal value. + * + *

        + * If the meaning of 'REPLACE' literal object isn't clear, + * there really should be more of a description here... + *

        + * + * @see #REPLACE + * @model literal="replace" + * @generated + * @ordered + */ + public static final int REPLACE_VALUE = 6; + + /** + * The 'REPLACE ADD' literal value. + * + *

        + * If the meaning of 'REPLACE ADD' literal object isn't clear, + * there really should be more of a description here... + *

        + * + * @see #REPLACE_ADD + * @model literal="replace-add" + * @generated + * @ordered + */ + public static final int REPLACE_ADD_VALUE = 7; + + /** + * An array of all the 'ACTION' enumerators. + * + * + * @generated + */ + private static final ACTION[] VALUES_ARRAY = + new ACTION[] { + UDEB, + REMOVE, + HIDE, + UDEB_ADD, + UREL, + UREL_ADD, + REPLACE, + REPLACE_ADD, + }; + + /** + * A public read-only list of all the 'ACTION' enumerators. + * + * + * @generated + */ + public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the 'ACTION' literal with the specified literal value. + * + * + * @generated + */ + public static ACTION get(String literal) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + ACTION result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) { + return result; + } + } + return null; + } + + /** + * Returns the 'ACTION' literal with the specified name. + * + * + * @generated + */ + public static ACTION getByName(String name) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + ACTION result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) { + return result; + } + } + return null; + } + + /** + * Returns the 'ACTION' literal with the specified integer value. + * + * + * @generated + */ + public static ACTION get(int value) { + switch (value) { + case UDEB_VALUE: return UDEB; + case REMOVE_VALUE: return REMOVE; + case HIDE_VALUE: return HIDE; + case UDEB_ADD_VALUE: return UDEB_ADD; + case UREL_VALUE: return UREL; + case UREL_ADD_VALUE: return UREL_ADD; + case REPLACE_VALUE: return REPLACE; + case REPLACE_ADD_VALUE: return REPLACE_ADD; + } + return null; + } + + /** + * + * + * @generated + */ + private final int value; + + /** + * + * + * @generated + */ + private final String name; + + /** + * + * + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * + * + * @generated + */ + private ACTION(int value, String name, String literal) { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * + * + * @generated + */ + public int getValue() { + return value; + } + + /** + * + * + * @generated + */ + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + public String getLiteral() { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * + * + * @generated + */ + @Override + public String toString() { + return literal; + } + +} //ACTION diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/model/iContent/IContentPackage.java --- a/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/model/iContent/IContentPackage.java Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/model/iContent/IContentPackage.java Wed Apr 28 13:50:48 2010 +0300 @@ -136,13 +136,13 @@ int IBY_ENTRY__LOCATION = 2; /** - * The feature id for the 'Debug' attribute. + * The feature id for the 'Action' attribute. * * * @generated * @ordered */ - int IBY_ENTRY__DEBUG = 3; + int IBY_ENTRY__ACTION = 3; /** * The feature id for the 'Enabled' attribute. @@ -184,6 +184,17 @@ /** + * The meta object id for the '{@link com.nokia.s60tools.imaker.internal.model.iContent.ACTION ACTION}' enum. + * + * + * @see com.nokia.s60tools.imaker.internal.model.iContent.ACTION + * @see com.nokia.s60tools.imaker.internal.model.iContent.impl.IContentPackageImpl#getACTION() + * @generated + */ + int ACTION = 3; + + + /** * Returns the meta object for class '{@link com.nokia.s60tools.imaker.internal.model.iContent.ImageContent Image Content}'. * * @@ -248,15 +259,15 @@ EAttribute getIbyEntry_Location(); /** - * Returns the meta object for the attribute '{@link com.nokia.s60tools.imaker.internal.model.iContent.IbyEntry#isDebug Debug}'. + * Returns the meta object for the attribute '{@link com.nokia.s60tools.imaker.internal.model.iContent.IbyEntry#getAction Action}'. * * - * @return the meta object for the attribute 'Debug'. - * @see com.nokia.s60tools.imaker.internal.model.iContent.IbyEntry#isDebug() + * @return the meta object for the attribute 'Action'. + * @see com.nokia.s60tools.imaker.internal.model.iContent.IbyEntry#getAction() * @see #getIbyEntry() * @generated */ - EAttribute getIbyEntry_Debug(); + EAttribute getIbyEntry_Action(); /** * Returns the meta object for the attribute '{@link com.nokia.s60tools.imaker.internal.model.iContent.IbyEntry#isEnabled Enabled}'. @@ -291,6 +302,16 @@ EEnum getIMAGESECTION(); /** + * Returns the meta object for enum '{@link com.nokia.s60tools.imaker.internal.model.iContent.ACTION ACTION}'. + * + * + * @return the meta object for enum 'ACTION'. + * @see com.nokia.s60tools.imaker.internal.model.iContent.ACTION + * @generated + */ + EEnum getACTION(); + + /** * Returns the factory that creates the instances of the model. * * @@ -365,12 +386,12 @@ EAttribute IBY_ENTRY__LOCATION = eINSTANCE.getIbyEntry_Location(); /** - * The meta object literal for the 'Debug' attribute feature. + * The meta object literal for the 'Action' attribute feature. * * * @generated */ - EAttribute IBY_ENTRY__DEBUG = eINSTANCE.getIbyEntry_Debug(); + EAttribute IBY_ENTRY__ACTION = eINSTANCE.getIbyEntry_Action(); /** * The meta object literal for the 'Enabled' attribute feature. @@ -398,6 +419,16 @@ */ EEnum IMAGESECTION = eINSTANCE.getIMAGESECTION(); + /** + * The meta object literal for the '{@link com.nokia.s60tools.imaker.internal.model.iContent.ACTION ACTION}' enum. + * + * + * @see com.nokia.s60tools.imaker.internal.model.iContent.ACTION + * @see com.nokia.s60tools.imaker.internal.model.iContent.impl.IContentPackageImpl#getACTION() + * @generated + */ + EEnum ACTION = eINSTANCE.getACTION(); + } } //IContentPackage diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/model/iContent/IMAGESECTION.java --- a/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/model/iContent/IMAGESECTION.java Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/model/iContent/IMAGESECTION.java Wed Apr 28 13:50:48 2010 +0300 @@ -40,7 +40,7 @@ * @generated * @ordered */ - CORE(0, "CORE", "CORE"), + CORE(0, "CORE", "core"), /** * The 'ROFS2' literal object. @@ -50,7 +50,7 @@ * @generated * @ordered */ - ROFS2(1, "ROFS2", "ROFS2"), + ROFS2(1, "ROFS2", "rofs2"), /** * The 'ROFS3' literal object. @@ -60,7 +60,15 @@ * @generated * @ordered */ - ROFS3(2, "ROFS3", "ROFS3"); + ROFS3(2, "ROFS3", "rofs3"), /** + * The 'ANY' literal object. + * + * + * @see #ANY_VALUE + * @generated + * @ordered + */ + ANY(3, "ANY", "*"); /** * The 'CORE' literal value. @@ -71,7 +79,7 @@ *

        * * @see #CORE - * @model + * @model literal="core" * @generated * @ordered */ @@ -86,7 +94,7 @@ *

        * * @see #ROFS2 - * @model + * @model literal="rofs2" * @generated * @ordered */ @@ -101,13 +109,28 @@ *

        * * @see #ROFS3 - * @model + * @model literal="rofs3" * @generated * @ordered */ public static final int ROFS3_VALUE = 2; /** + * The 'ANY' literal value. + * + *

        + * If the meaning of 'ANY' literal object isn't clear, + * there really should be more of a description here... + *

        + * + * @see #ANY + * @model literal="*" + * @generated + * @ordered + */ + public static final int ANY_VALUE = 3; + + /** * An array of all the 'IMAGESECTION' enumerators. * * @@ -118,6 +141,7 @@ CORE, ROFS2, ROFS3, + ANY, }; /** @@ -171,6 +195,7 @@ case CORE_VALUE: return CORE; case ROFS2_VALUE: return ROFS2; case ROFS3_VALUE: return ROFS3; + case ANY_VALUE: return ANY; } return null; } diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/model/iContent/IbyEntry.java --- a/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/model/iContent/IbyEntry.java Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/model/iContent/IbyEntry.java Wed Apr 28 13:50:48 2010 +0300 @@ -29,7 +29,7 @@ *
      8. {@link com.nokia.s60tools.imaker.internal.model.iContent.IbyEntry#getFile File}
      9. *
      10. {@link com.nokia.s60tools.imaker.internal.model.iContent.IbyEntry#getTarget Target}
      11. *
      12. {@link com.nokia.s60tools.imaker.internal.model.iContent.IbyEntry#getLocation Location}
      13. - *
      14. {@link com.nokia.s60tools.imaker.internal.model.iContent.IbyEntry#isDebug Debug}
      15. + *
      16. {@link com.nokia.s60tools.imaker.internal.model.iContent.IbyEntry#getAction Action}
      17. *
      18. {@link com.nokia.s60tools.imaker.internal.model.iContent.IbyEntry#isEnabled Enabled}
      19. *
      20. {@link com.nokia.s60tools.imaker.internal.model.iContent.IbyEntry#getStatusMessage Status Message}
      21. * @@ -122,30 +122,33 @@ void setLocation(IMAGESECTION value); /** - * Returns the value of the 'Debug' attribute. + * Returns the value of the 'Action' attribute. + * The literals are from the enumeration {@link com.nokia.s60tools.imaker.internal.model.iContent.ACTION}. * *

        - * If the meaning of the 'Debug' attribute isn't clear, + * If the meaning of the 'Action' attribute isn't clear, * there really should be more of a description here... *

        * - * @return the value of the 'Debug' attribute. - * @see #setDebug(boolean) - * @see com.nokia.s60tools.imaker.internal.model.iContent.IContentPackage#getIbyEntry_Debug() + * @return the value of the 'Action' attribute. + * @see com.nokia.s60tools.imaker.internal.model.iContent.ACTION + * @see #setAction(ACTION) + * @see com.nokia.s60tools.imaker.internal.model.iContent.IContentPackage#getIbyEntry_Action() * @model * @generated */ - boolean isDebug(); + ACTION getAction(); /** - * Sets the value of the '{@link com.nokia.s60tools.imaker.internal.model.iContent.IbyEntry#isDebug Debug}' attribute. + * Sets the value of the '{@link com.nokia.s60tools.imaker.internal.model.iContent.IbyEntry#getAction Action}' attribute. * * - * @param value the new value of the 'Debug' attribute. - * @see #isDebug() + * @param value the new value of the 'Action' attribute. + * @see com.nokia.s60tools.imaker.internal.model.iContent.ACTION + * @see #getAction() * @generated */ - void setDebug(boolean value); + void setAction(ACTION value); /** * Returns the value of the 'Enabled' attribute. diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/model/iContent/impl/IContentFactoryImpl.java --- a/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/model/iContent/impl/IContentFactoryImpl.java Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/model/iContent/impl/IContentFactoryImpl.java Wed Apr 28 13:50:48 2010 +0300 @@ -16,6 +16,7 @@ */ package com.nokia.s60tools.imaker.internal.model.iContent.impl; +import com.nokia.s60tools.imaker.internal.model.iContent.*; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EDataType; import org.eclipse.emf.ecore.EObject; @@ -91,6 +92,8 @@ switch (eDataType.getClassifierID()) { case IContentPackage.IMAGESECTION: return createIMAGESECTIONFromString(eDataType, initialValue); + case IContentPackage.ACTION: + return createACTIONFromString(eDataType, initialValue); default: throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); } @@ -106,6 +109,8 @@ switch (eDataType.getClassifierID()) { case IContentPackage.IMAGESECTION: return convertIMAGESECTIONToString(eDataType, instanceValue); + case IContentPackage.ACTION: + return convertACTIONToString(eDataType, instanceValue); default: throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); } @@ -156,6 +161,26 @@ * * @generated */ + public ACTION createACTIONFromString(EDataType eDataType, String initialValue) { + ACTION result = ACTION.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * + * + * @generated + */ + public String convertACTIONToString(EDataType eDataType, Object instanceValue) { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * + * + * @generated + */ public IContentPackage getIContentPackage() { return (IContentPackage)getEPackage(); } diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/model/iContent/impl/IContentPackageImpl.java --- a/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/model/iContent/impl/IContentPackageImpl.java Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/model/iContent/impl/IContentPackageImpl.java Wed Apr 28 13:50:48 2010 +0300 @@ -58,6 +58,13 @@ private EEnum imagesectionEEnum = null; /** + * + * + * @generated + */ + private EEnum actionEEnum = null; + + /** * Creates an instance of the model Package, registered with * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package * package URI value. @@ -177,7 +184,7 @@ * * @generated */ - public EAttribute getIbyEntry_Debug() { + public EAttribute getIbyEntry_Action() { return (EAttribute)ibyEntryEClass.getEStructuralFeatures().get(3); } @@ -213,6 +220,15 @@ * * @generated */ + public EEnum getACTION() { + return actionEEnum; + } + + /** + * + * + * @generated + */ public IContentFactory getIContentFactory() { return (IContentFactory)getEFactoryInstance(); } @@ -243,12 +259,13 @@ createEAttribute(ibyEntryEClass, IBY_ENTRY__FILE); createEAttribute(ibyEntryEClass, IBY_ENTRY__TARGET); createEAttribute(ibyEntryEClass, IBY_ENTRY__LOCATION); - createEAttribute(ibyEntryEClass, IBY_ENTRY__DEBUG); + createEAttribute(ibyEntryEClass, IBY_ENTRY__ACTION); createEAttribute(ibyEntryEClass, IBY_ENTRY__ENABLED); createEAttribute(ibyEntryEClass, IBY_ENTRY__STATUS_MESSAGE); // Create enums imagesectionEEnum = createEEnum(IMAGESECTION); + actionEEnum = createEEnum(ACTION); } /** @@ -288,7 +305,7 @@ initEAttribute(getIbyEntry_File(), ecorePackage.getEString(), "file", null, 0, 1, IbyEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getIbyEntry_Target(), ecorePackage.getEString(), "target", null, 0, 1, IbyEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getIbyEntry_Location(), this.getIMAGESECTION(), "location", null, 0, 1, IbyEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getIbyEntry_Debug(), ecorePackage.getEBoolean(), "debug", null, 0, 1, IbyEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getIbyEntry_Action(), this.getACTION(), "action", null, 0, 1, IbyEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getIbyEntry_Enabled(), ecorePackage.getEBoolean(), "enabled", null, 0, 1, IbyEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getIbyEntry_StatusMessage(), ecorePackage.getEString(), "statusMessage", null, 0, 1, IbyEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); @@ -297,6 +314,17 @@ addEEnumLiteral(imagesectionEEnum, com.nokia.s60tools.imaker.internal.model.iContent.IMAGESECTION.CORE); addEEnumLiteral(imagesectionEEnum, com.nokia.s60tools.imaker.internal.model.iContent.IMAGESECTION.ROFS2); addEEnumLiteral(imagesectionEEnum, com.nokia.s60tools.imaker.internal.model.iContent.IMAGESECTION.ROFS3); + addEEnumLiteral(imagesectionEEnum, com.nokia.s60tools.imaker.internal.model.iContent.IMAGESECTION.ANY); + + initEEnum(actionEEnum, com.nokia.s60tools.imaker.internal.model.iContent.ACTION.class, "ACTION"); + addEEnumLiteral(actionEEnum, com.nokia.s60tools.imaker.internal.model.iContent.ACTION.UDEB); + addEEnumLiteral(actionEEnum, com.nokia.s60tools.imaker.internal.model.iContent.ACTION.REMOVE); + addEEnumLiteral(actionEEnum, com.nokia.s60tools.imaker.internal.model.iContent.ACTION.HIDE); + addEEnumLiteral(actionEEnum, com.nokia.s60tools.imaker.internal.model.iContent.ACTION.UDEB_ADD); + addEEnumLiteral(actionEEnum, com.nokia.s60tools.imaker.internal.model.iContent.ACTION.UREL); + addEEnumLiteral(actionEEnum, com.nokia.s60tools.imaker.internal.model.iContent.ACTION.UREL_ADD); + addEEnumLiteral(actionEEnum, com.nokia.s60tools.imaker.internal.model.iContent.ACTION.REPLACE); + addEEnumLiteral(actionEEnum, com.nokia.s60tools.imaker.internal.model.iContent.ACTION.REPLACE_ADD); // Create resource createResource(eNS_URI); diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/model/iContent/impl/IbyEntryImpl.java --- a/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/model/iContent/impl/IbyEntryImpl.java Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/model/iContent/impl/IbyEntryImpl.java Wed Apr 28 13:50:48 2010 +0300 @@ -16,6 +16,7 @@ */ package com.nokia.s60tools.imaker.internal.model.iContent.impl; +import com.nokia.s60tools.imaker.internal.model.iContent.ACTION; import com.nokia.s60tools.imaker.internal.model.iContent.IContentPackage; import com.nokia.s60tools.imaker.internal.model.iContent.IMAGESECTION; import com.nokia.s60tools.imaker.internal.model.iContent.IbyEntry; @@ -37,7 +38,7 @@ *
      22. {@link com.nokia.s60tools.imaker.internal.model.iContent.impl.IbyEntryImpl#getFile File}
      23. *
      24. {@link com.nokia.s60tools.imaker.internal.model.iContent.impl.IbyEntryImpl#getTarget Target}
      25. *
      26. {@link com.nokia.s60tools.imaker.internal.model.iContent.impl.IbyEntryImpl#getLocation Location}
      27. - *
      28. {@link com.nokia.s60tools.imaker.internal.model.iContent.impl.IbyEntryImpl#isDebug Debug}
      29. + *
      30. {@link com.nokia.s60tools.imaker.internal.model.iContent.impl.IbyEntryImpl#getAction Action}
      31. *
      32. {@link com.nokia.s60tools.imaker.internal.model.iContent.impl.IbyEntryImpl#isEnabled Enabled}
      33. *
      34. {@link com.nokia.s60tools.imaker.internal.model.iContent.impl.IbyEntryImpl#getStatusMessage Status Message}
      35. * @@ -107,24 +108,24 @@ protected IMAGESECTION location = LOCATION_EDEFAULT; /** - * The default value of the '{@link #isDebug() Debug}' attribute. + * The default value of the '{@link #getAction() Action}' attribute. * * - * @see #isDebug() + * @see #getAction() * @generated * @ordered */ - protected static final boolean DEBUG_EDEFAULT = false; + protected static final ACTION ACTION_EDEFAULT = ACTION.UDEB; /** - * The cached value of the '{@link #isDebug() Debug}' attribute. + * The cached value of the '{@link #getAction() Action}' attribute. * * - * @see #isDebug() + * @see #getAction() * @generated * @ordered */ - protected boolean debug = DEBUG_EDEFAULT; + protected ACTION action = ACTION_EDEFAULT; /** * The default value of the '{@link #isEnabled() Enabled}' attribute. @@ -253,8 +254,8 @@ * * @generated */ - public boolean isDebug() { - return debug; + public ACTION getAction() { + return action; } /** @@ -262,11 +263,11 @@ * * @generated */ - public void setDebug(boolean newDebug) { - boolean oldDebug = debug; - debug = newDebug; + public void setAction(ACTION newAction) { + ACTION oldAction = action; + action = newAction == null ? ACTION_EDEFAULT : newAction; if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, IContentPackage.IBY_ENTRY__DEBUG, oldDebug, debug)); + eNotify(new ENotificationImpl(this, Notification.SET, IContentPackage.IBY_ENTRY__ACTION, oldAction, action)); } /** @@ -325,8 +326,8 @@ return getTarget(); case IContentPackage.IBY_ENTRY__LOCATION: return getLocation(); - case IContentPackage.IBY_ENTRY__DEBUG: - return isDebug(); + case IContentPackage.IBY_ENTRY__ACTION: + return getAction(); case IContentPackage.IBY_ENTRY__ENABLED: return isEnabled(); case IContentPackage.IBY_ENTRY__STATUS_MESSAGE: @@ -352,8 +353,8 @@ case IContentPackage.IBY_ENTRY__LOCATION: setLocation((IMAGESECTION)newValue); return; - case IContentPackage.IBY_ENTRY__DEBUG: - setDebug((Boolean)newValue); + case IContentPackage.IBY_ENTRY__ACTION: + setAction((ACTION)newValue); return; case IContentPackage.IBY_ENTRY__ENABLED: setEnabled((Boolean)newValue); @@ -382,8 +383,8 @@ case IContentPackage.IBY_ENTRY__LOCATION: setLocation(LOCATION_EDEFAULT); return; - case IContentPackage.IBY_ENTRY__DEBUG: - setDebug(DEBUG_EDEFAULT); + case IContentPackage.IBY_ENTRY__ACTION: + setAction(ACTION_EDEFAULT); return; case IContentPackage.IBY_ENTRY__ENABLED: setEnabled(ENABLED_EDEFAULT); @@ -409,8 +410,8 @@ return TARGET_EDEFAULT == null ? target != null : !TARGET_EDEFAULT.equals(target); case IContentPackage.IBY_ENTRY__LOCATION: return location != LOCATION_EDEFAULT; - case IContentPackage.IBY_ENTRY__DEBUG: - return debug != DEBUG_EDEFAULT; + case IContentPackage.IBY_ENTRY__ACTION: + return action != ACTION_EDEFAULT; case IContentPackage.IBY_ENTRY__ENABLED: return enabled != ENABLED_EDEFAULT; case IContentPackage.IBY_ENTRY__STATUS_MESSAGE: @@ -439,7 +440,7 @@ public void append(StringBuffer sb) { sb.append(isEnabled()); sb.append(";"); - sb.append(isDebug()); + sb.append(getAction().getLiteral()); sb.append(";"); sb.append(getFile()); sb.append(";"); @@ -448,9 +449,13 @@ sb.append(getLocation()); } + /* public boolean equals(Object obj) { if(obj instanceof IbyEntry) { IbyEntry other = (IbyEntry) obj; + if (super.equals(obj)==false) { + return false; + } String f = getFile(); String t = getTarget(); if(f!=null&&t!=null&&f.equals(other.getFile())&&t.equals(other.getTarget())) { @@ -467,4 +472,5 @@ } return false; } + */ } //IbyEntryImpl diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/providers/CheckBoxEditingSupport.java --- a/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/providers/CheckBoxEditingSupport.java Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/providers/CheckBoxEditingSupport.java Wed Apr 28 13:50:48 2010 +0300 @@ -18,16 +18,12 @@ package com.nokia.s60tools.imaker.internal.providers; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - import org.eclipse.jface.viewers.CellEditor; import org.eclipse.jface.viewers.CheckboxCellEditor; import org.eclipse.jface.viewers.ColumnViewer; import org.eclipse.jface.viewers.TableViewer; import com.nokia.s60tools.imaker.internal.model.iContent.IbyEntry; -import com.nokia.s60tools.imaker.internal.viewers.DebugTab; public class CheckBoxEditingSupport extends IbyEntryEditingSupport { private final static int ENABLE_COLUMN_ID = 1; @@ -49,50 +45,14 @@ @Override protected Object getValue(Object element) { - Boolean ret = (column==ENABLE_COLUMN_ID)?new Boolean(getEntry(element).isEnabled()):new Boolean(getEntry(element).isDebug()); - return ret; + return new Boolean(getEntry(element).isEnabled()); } @Override protected void setValue(Object element, Object value) { Boolean newValue = (Boolean)value; IbyEntry entry = getEntry(element); - if(column==ENABLE_COLUMN_ID) { - entry.setEnabled(newValue); - } else { - String dPath = getDebugVersion(entry.getFile(),newValue); - if(!dPath.equals(entry.getFile())) { - entry.setFile(dPath); - entry.setDebug(newValue); - } else { - return; - } - } - updateWarning(element); + entry.setEnabled(newValue); getViewer().update(element, null); } - - private String getDebugVersion(String path, Boolean value) { - String pattern; - if(value) { - pattern = DebugTab.REL_PATTERN; - } else { - pattern = DebugTab.DEBUG_PATTERN; - } - Pattern p = Pattern.compile(pattern); - Matcher matcher = p.matcher(path); - if (matcher.find()) { - int start = matcher.start(1); - int end = matcher.end(1); - String newPath; - if(value) { - newPath = path.substring(0, start) + "udeb" + path.substring(end); - } else { - newPath = path.substring(0, start) + "urel" + path.substring(end); - } - return newPath; - } else { - return path; - } - } } diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/providers/ComboEditingSupport.java --- a/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/providers/ComboEditingSupport.java Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/providers/ComboEditingSupport.java Wed Apr 28 13:50:48 2010 +0300 @@ -22,6 +22,7 @@ import org.eclipse.jface.viewers.ComboBoxCellEditor; import org.eclipse.jface.viewers.TableViewer; +import com.nokia.s60tools.imaker.internal.model.iContent.ACTION; import com.nokia.s60tools.imaker.internal.model.iContent.IMAGESECTION; import com.nokia.s60tools.imaker.internal.model.iContent.IbyEntry; @@ -37,30 +38,68 @@ @Override protected CellEditor getCellEditor(Object element) { - IMAGESECTION[] values = IMAGESECTION.values(); - String[] entries = new String[values.length]; - for (int i = 0; i < values.length; i++) { - entries[i]=values[i].getLiteral(); + TableViewer tv = (TableViewer) getViewer(); + switch (column) { + case 4: + IMAGESECTION[] values = IMAGESECTION.values(); + String[] entries = new String[values.length]; + for (int i = 0; i < values.length; i++) { + entries[i]=values[i].getLiteral(); + } + ComboBoxCellEditor cellEditor = new ComboBoxCellEditor(tv.getTable(), entries); + return cellEditor; + case 5: + ACTION[] actions = ACTION.values(); + entries = new String[actions.length]; + for (int i = 0; i < actions.length; i++) { + entries[i]=actions[i].getLiteral(); + } + cellEditor = new ComboBoxCellEditor(tv.getTable(), entries); + return cellEditor; + + default: + break; } - TableViewer tv = (TableViewer) getViewer(); - ComboBoxCellEditor cellEditor = new ComboBoxCellEditor(tv.getTable(), entries); - return cellEditor; + return null; } @Override protected Object getValue(Object element) { IbyEntry ie = getEntry(element); - Integer value = new Integer(ie.getLocation().getValue()); - return value; + switch (column) { + case 4: + Integer value = new Integer(ie.getLocation().getValue()); + return value; + case 5: + value = new Integer(ie.getAction().getValue()); + return value; + default: + break; + } + return null; } @Override protected void setValue(Object element, Object value) { IbyEntry ie = getEntry(element); - int oldValue = ie.getLocation().getValue(); - int newValue = ((Integer)value).intValue(); - if(oldValue!=newValue) { - ie.setLocation(IMAGESECTION.get(newValue)); + switch (column) { + case 4: + int oldValue = ie.getLocation().getValue(); + int newValue = ((Integer)value).intValue(); + if(oldValue!=newValue) { + ie.setLocation(IMAGESECTION.get(newValue)); + } + break; + case 5: + oldValue = ie.getAction().getValue(); + newValue = ((Integer)value).intValue(); + if(oldValue!=newValue) { + ie.setAction(ACTION.get(newValue)); + } + break; + + default: + break; } getViewer().update(element, null); } diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/viewers/DebugTab.java --- a/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/viewers/DebugTab.java Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/viewers/DebugTab.java Wed Apr 28 13:50:48 2010 +0300 @@ -21,9 +21,9 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import java.util.regex.Pattern; import org.eclipse.emf.common.util.EList; +import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.resource.ImageRegistry; import org.eclipse.jface.viewers.ColumnLabelProvider; import org.eclipse.jface.viewers.ISelection; @@ -48,9 +48,11 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Table; +import org.eclipse.ui.PlatformUI; import com.nokia.s60tools.imaker.IMakerKeyConstants; import com.nokia.s60tools.imaker.IMakerPlugin; +import com.nokia.s60tools.imaker.ImageFlasherHelpContextIDs; import com.nokia.s60tools.imaker.Messages; import com.nokia.s60tools.imaker.UIConfiguration; import com.nokia.s60tools.imaker.UITarget; @@ -58,6 +60,7 @@ import com.nokia.s60tools.imaker.internal.model.FileToImage; import com.nokia.s60tools.imaker.internal.model.ImakerProperties; import com.nokia.s60tools.imaker.internal.model.iContent.IContentFactory; +import com.nokia.s60tools.imaker.internal.model.iContent.IMAGESECTION; import com.nokia.s60tools.imaker.internal.model.iContent.IbyEntry; import com.nokia.s60tools.imaker.internal.model.iContent.ImageContent; import com.nokia.s60tools.imaker.internal.providers.CheckBoxEditingSupport; @@ -79,6 +82,7 @@ private ProjectManager projectManager; private TableViewer tableViewer; private PreferencesTab mainTab; + private IContentFactory factory; static { String iconPath = "icons/"; @@ -105,9 +109,27 @@ this.tabsViewer = viewer; this.projectManager = tabsViewer.getProjectManager(); setControl(createControl(parent)); - this.mainTab = main; + this.mainTab = main; + this.factory = IContentFactory.eINSTANCE; } + private void duplicateSelection() { + ISelection selection = tableViewer.getSelection(); + if(selection!=null) { + IStructuredSelection ss = (IStructuredSelection) selection; + IbyEntry item = (IbyEntry) ss.getFirstElement(); + IbyEntry copy = factory.createIbyEntry(); + copy.setAction(item.getAction()); + copy.setEnabled(item.isEnabled()); + copy.setFile(item.getFile()); + copy.setTarget(item.getTarget()); + copy.setLocation(item.getLocation()); + ImageContent ic = getInput(); + int index = ic.getEntries().indexOf(item); + ic.getEntries().add(index+1, copy); + tableViewer.refresh(); + } + } private void deleteSelection() { ISelection selection = tableViewer.getSelection(); if(selection!=null) { @@ -126,6 +148,7 @@ Composite top = new Composite(parent,SWT.NONE); top.setLayout(new GridLayout(2,false)); top.setLayoutData(new GridData(GridData.FILL_BOTH)); + setHelpForControl(top, ImageFlasherHelpContextIDs.IMAKERDIALOG_CONTENTTAB); // create table Composite tableComp = getNewComposite(top); @@ -158,9 +181,8 @@ button.setToolTipText(Messages.getString("DebugTab.3")); button.addSelectionListener(new SelectionListener() { -// @Override public void widgetSelected(SelectionEvent e) { - IbyEntry entry = IContentFactory.eINSTANCE.createIbyEntry(); + IbyEntry entry = factory.createIbyEntry(); ImageContent input = getInput(); FileToImage file = new FileToImage(); AddEditFileToTransferDialog dialog= new AddEditFileToTransferDialog(getControl().getShell(), file); @@ -171,17 +193,11 @@ entry.setEnabled(file.getEnabled()); entry.setFile(file.getHostPath().substring(2)); entry.setTarget(file.getTargetPath()); - entry.setDebug(isDebug(entry.getFile())); input.getEntries().add(entry); tableViewer.refresh(); } - private boolean isDebug(String file) { - Pattern p = Pattern.compile(DEBUG_PATTERN); - return p.matcher(file).find(); - } -// @Override public void widgetDefaultSelected(SelectionEvent e) { widgetSelected(e); } @@ -193,12 +209,25 @@ button.setToolTipText(Messages.getString("DebugTab.5")); button.addSelectionListener(new SelectionListener() { -// @Override public void widgetSelected(SelectionEvent e) { deleteSelection(); } -// @Override + public void widgetDefaultSelected(SelectionEvent e) { + widgetSelected(e); + } + }); + + button = new Button(controls,SWT.PUSH|SWT.LEFT); + button.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + button.setText(Messages.getString("DebugTab.24")); + button.setToolTipText(Messages.getString("DebugTab.25")); + button.addSelectionListener(new SelectionListener() { + + public void widgetSelected(SelectionEvent e) { + duplicateSelection(); + } + public void widgetDefaultSelected(SelectionEvent e) { widgetSelected(e); } @@ -210,16 +239,25 @@ button.setToolTipText(Messages.getString("DebugTab.7")); button.addSelectionListener(new SelectionListener() { -// @Override public void widgetSelected(SelectionEvent e) { ImageContent input = getInput(); if(input!=null) { + + if (!input.getEntries().isEmpty()) { + boolean confirm = MessageDialog + .openQuestion( + getControl().getShell(), + "Remove Entries", + "Clear the list before adding new entries, if any?"); + if (confirm) { + input.getEntries().clear(); + } + } projectManager.populate(input); tableViewer.refresh(); } } -// @Override public void widgetDefaultSelected(SelectionEvent e) { widgetSelected(e); } @@ -298,6 +336,9 @@ return top; } + private void setHelpForControl(Control container, String id) { + PlatformUI.getWorkbench().getHelpSystem().setHelp(container, id); + } private Object getDefaultInput() { IContentFactory factory = IContentFactory.eINSTANCE; ImageContent ic = factory.createImageContent(); @@ -317,10 +358,11 @@ } private void createColumns(TableViewer viewer) { - int columnSizes[] = {20,50,130,130,60,50}; + int columnSizes[] = {20,50,130,130,60,60}; TableViewerColumn column = new TableViewerColumn(viewer,SWT.NONE); - column.getColumn().setText("!"); + column.getColumn().setText(Messages.getString("DebugTab.12")); + column.getColumn().setToolTipText(Messages.getString("DebugTab.13")); column.getColumn().setWidth(columnSizes[0]); column.setLabelProvider(new ColumnLabelProvider() { @@ -354,7 +396,9 @@ } } } - mainTab.addTarget(entry.getLocation().getName()); + if(entry.getLocation()!=IMAGESECTION.ANY) { + mainTab.addTarget(entry.getLocation().getName()); + } return false; } @@ -380,10 +424,11 @@ } }); - column.setEditingSupport(new CheckBoxEditingSupport(viewer, 0)); +// column.setEditingSupport(new CheckBoxEditingSupport(viewer, 0)); column = new TableViewerColumn(viewer,SWT.CENTER); - column.getColumn().setText("Enable"); + column.getColumn().setText(Messages.getString("DebugTab.14")); + column.getColumn().setToolTipText(Messages.getString("DebugTab.15")); column.getColumn().setWidth(columnSizes[1]); column.setLabelProvider( new ColumnLabelProvider() { @@ -402,7 +447,8 @@ column.setEditingSupport(new CheckBoxEditingSupport(viewer, 1)); column = new TableViewerColumn(viewer,SWT.NONE); - column.getColumn().setText("File"); + column.getColumn().setText(Messages.getString("DebugTab.16")); + column.getColumn().setToolTipText(Messages.getString("DebugTab.17")); column.getColumn().setWidth(columnSizes[2]); column.setLabelProvider(new ColumnLabelProvider() { @Override @@ -415,7 +461,8 @@ column = new TableViewerColumn(viewer,SWT.NONE); - column.getColumn().setText("Target"); + column.getColumn().setText(Messages.getString("DebugTab.18")); + column.getColumn().setToolTipText(Messages.getString("DebugTab.19")); column.getColumn().setWidth(columnSizes[3]); column.setLabelProvider(new ColumnLabelProvider() { @Override @@ -427,7 +474,8 @@ column.setEditingSupport(new TextEditingSupport(viewer,3)); column = new TableViewerColumn(viewer,SWT.NONE); - column.getColumn().setText("Location"); + column.getColumn().setText(Messages.getString("DebugTab.20")); + column.getColumn().setToolTipText(Messages.getString("DebugTab.21")); column.getColumn().setWidth(columnSizes[4]); column.setLabelProvider(new ColumnLabelProvider() { @Override @@ -438,42 +486,31 @@ }); column.setEditingSupport(new ComboEditingSupport(viewer,4)); - column = new TableViewerColumn(viewer,SWT.CENTER); - column.getColumn().setText("Debug"); + column = new TableViewerColumn(viewer,SWT.LEFT); + column.getColumn().setText(Messages.getString("DebugTab.22")); + column.getColumn().setToolTipText(Messages.getString("DebugTab.23")); column.getColumn().setWidth(columnSizes[5]); column.setLabelProvider( new ColumnLabelProvider() { - - @Override - public Image getImage(Object element) { - IbyEntry ie = (IbyEntry) element; - String key = ie.isDebug() ? CHECKED_IMAGE : UNCHECKED_IMAGE; - return imageRegistry.get(key); - } - @Override public String getText(Object element) { - return ""; + IbyEntry e = (IbyEntry) element; + return e.getAction().getLiteral(); } }); - column.setEditingSupport(new CheckBoxEditingSupport(viewer, 5)); + column.setEditingSupport(new ComboEditingSupport(viewer,5)); } private class DebugContentProvider implements IStructuredContentProvider { -// @Override public Object[] getElements(Object inputElement) { ImageContent ic = (ImageContent) inputElement; return ic.getEntries().toArray(); } -// @Override - public void dispose() { - } + public void dispose() {} -// @Override - public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { - } + public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {} } /* (non-Javadoc) diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/viewers/IMakerTabsViewer.java --- a/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/viewers/IMakerTabsViewer.java Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/viewers/IMakerTabsViewer.java Wed Apr 28 13:50:48 2010 +0300 @@ -47,6 +47,7 @@ import com.nokia.s60tools.imaker.IEnvironmentManager; import com.nokia.s60tools.imaker.IMakerPlugin; +import com.nokia.s60tools.imaker.ImageFlasherHelpContextIDs; import com.nokia.s60tools.imaker.Messages; import com.nokia.s60tools.imaker.SWTFactory; import com.nokia.s60tools.imaker.internal.dialogs.LaunchIMakerDialog; @@ -138,9 +139,18 @@ fConfigWidget.select(i+1); } } + enabaleReload(selection); } + private void enabaleReload(String selection) { + if (ProjectManager.NEW_ITEM.equals(selection)) { + fReloadButton.setEnabled(true); + } else { + fReloadButton.setEnabled(false); + } + } + public IEnvironmentManager getEnvironmentManager() { return environmentManager; } @@ -223,20 +233,21 @@ fConfigWidget.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); fConfigWidget.addSelectionListener(new SelectionListener() { -// @Override public void widgetSelected(SelectionEvent se) { try { - tabPreferences.loadImakerFile(getSelectedItem()); + String item = getSelectedItem(); + enabaleReload(item); + tabPreferences.loadImakerFile(item); } catch (InvocationTargetException e) { e.printStackTrace(); } } -// @Override public void widgetDefaultSelected(SelectionEvent se) { widgetSelected(se); } }); + PlatformUI.getWorkbench().getHelpSystem().setHelp(fConfigWidget, ImageFlasherHelpContextIDs.IMAKERDIALOG_CONFIGURATION); fConfigWidget.setToolTipText(Messages.getString("IMakerTabsViewer.2")); deleteButton = new Button(comboComp, SWT.PUSH); diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/viewers/PlatsimTab.java --- a/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/viewers/PlatsimTab.java Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/viewers/PlatsimTab.java Wed Apr 28 13:50:48 2010 +0300 @@ -33,10 +33,12 @@ import org.eclipse.swt.widgets.Group; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; +import org.eclipse.ui.PlatformUI; import com.nokia.s60tools.imaker.IEnvironment; import com.nokia.s60tools.imaker.IEnvironmentManager; import com.nokia.s60tools.imaker.IMakerKeyConstants; +import com.nokia.s60tools.imaker.ImageFlasherHelpContextIDs; import com.nokia.s60tools.imaker.Messages; import com.nokia.s60tools.imaker.internal.managers.EnvironmentManager; import com.nokia.s60tools.imaker.internal.model.ImakerProperties; @@ -66,6 +68,7 @@ private Control createControl(CTabFolder parent) { Composite top = new Composite(parent,SWT.FLAT); + PlatformUI.getWorkbench().getHelpSystem().setHelp(top, ImageFlasherHelpContextIDs.IMAKERDIALOG_PLATSIMTAB); GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, false); top.setLayoutData(layoutData); top.setLayout(new GridLayout(1,false)); diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/viewers/PreferencesTab.java --- a/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/viewers/PreferencesTab.java Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/viewers/PreferencesTab.java Wed Apr 28 13:50:48 2010 +0300 @@ -171,7 +171,6 @@ setHelpForControl(buttonVerbose, ImageFlasherHelpContextIDs.IMAKERPLUGIN_HELP_FLAGS); setHelpForControl(textUserDefinedParameters, ImageFlasherHelpContextIDs.IMAKERPLUGIN_HELP_ADDITIONAL_PARAMS); } catch( Exception e ) { - //Creating preferences dialog caused an exception e.printStackTrace(); } return container; @@ -580,6 +579,11 @@ } settingsTab.setInput(product); textProduct.setToolTipText(product.getFilePath()); + activatePlatsimTab(product); + } + + + private void activatePlatsimTab(UIConfiguration product) { platsimTab.activate(product.isPlatsimConfiguration()); } @@ -788,7 +792,10 @@ if(text!=null) { text = text.trim(); if(!"".equals(text)) { - text = text +" " + getVariableString(modVariable); + String varString = getVariableString(modVariable); + if (text.indexOf(varString)==-1) { + text = text +" " + varString; + } } else { text = getVariableString(modVariable); } @@ -797,6 +804,7 @@ } textUserDefinedParameters.setText(text); } + activatePlatsimTab(activeEnvironment.getCurrentProduct()); } private String getVariableString(UIVariable variable) { @@ -924,7 +932,7 @@ } if (!prop.containsKey(IMakerKeyConstants.TYPE)) { - StatusHandler.handle(IStatus.ERROR,"Unable to load image type from file "+file.getName()+". Invalid or corrupted IMP file.",null); + StatusHandler.handle(IStatus.ERROR,"Unable to load image type from file "+file.getName()+". Invalid or corrupted IMP file. TYPE not given",null); tabsViewer.restoreSelection(); loadImakerFile(ProjectManager.NEW_ITEM); return; diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/viewers/SettingsTab.java --- a/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/viewers/SettingsTab.java Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/internal/viewers/SettingsTab.java Wed Apr 28 13:50:48 2010 +0300 @@ -26,9 +26,11 @@ import org.eclipse.swt.custom.CTabItem; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; +import org.eclipse.ui.PlatformUI; import com.nokia.s60tools.imaker.IMakerKeyConstants; import com.nokia.s60tools.imaker.IMakerUtils; +import com.nokia.s60tools.imaker.ImageFlasherHelpContextIDs; import com.nokia.s60tools.imaker.UIConfiguration; import com.nokia.s60tools.imaker.UIVariable; import com.nokia.s60tools.imaker.internal.model.ImakerProperties; @@ -44,6 +46,7 @@ private Control createControl(CTabFolder parent) { Composite top = new Composite(parent,SWT.NONE); + PlatformUI.getWorkbench().getHelpSystem().setHelp(top, ImageFlasherHelpContextIDs.IMAKERDIALOG_SETTINGSTAB); settingsViewer = new SettingsViewer(top); return top; } diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/messages.properties --- a/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/messages.properties Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/com.nokia.s60tools.imaker/src/com/nokia/s60tools/imaker/messages.properties Wed Apr 28 13:50:48 2010 +0300 @@ -142,16 +142,30 @@ FileTransferTab.8=Add File to Image DebugTab.0=Selected location (xxx) may not be in the selected targets on the main tab. DebugTab.1=Source file (xxx) doesn't exist! -DebugTab.2=Add +DebugTab.2=Add DebugTab.3=Add new entry to the list -DebugTab.4=Remove +DebugTab.4=Remove DebugTab.5=Remove selected item(s) -DebugTab.6=Populate +DebugTab.6=Populate DebugTab.7=Populate from the selected project DebugTab.8=Enable All DebugTab.9=Enable All items in the table DebugTab.10=Disable All DebugTab.11=Disable All items in the table +DebugTab.12=! +DebugTab.13=Problems +DebugTab.14=Enable +DebugTab.15=Enable selected component +DebugTab.16=File +DebugTab.17=The source location of the component +DebugTab.18=Target +DebugTab.19=The target location on the device +DebugTab.20=Location +DebugTab.21=The image section +DebugTab.22=Action +DebugTab.23=The action to perform press F1 for more information +DebugTab.24=Duplicate +DebugTab.25=Duplicate the selected component Error.0=iMaker Core was not found. Error.1=An error has occured while executing iMaker Core. Make sure that imaker.cmd can be run without problems. Error.2=Commandline tool imaker.cmd not found. Make sure that imaker.cmd is in the path environment variable. diff -r 2715b6594cd9 -r 217e69fc5beb imakerplugin/common.properties --- a/imakerplugin/common.properties Wed Apr 21 11:49:56 2010 +0300 +++ b/imakerplugin/common.properties Wed Apr 28 13:50:48 2010 +0300 @@ -3,7 +3,7 @@ * ****************************************************************************--> -plugin.version = 2.2.4 +plugin.version = 3.1.0 eclipse.home = E:/APPS/Carbide.c_SYMSEE_layout_2.4.0_test plugin.lib = lib plugin.dist.dir = install