What Kind of Tiff for the Icon's Menu?



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 27/05/2008 at 08:22, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:   R10.5 
    Platform:   Windows  ;   
    Language(s) :   C.O.F.F.E.E  ;

    ---------
    Hi.
    I can not put an icon to my PlugIn. My source code is:

    PlugInMenu::GetIcon()
    {
    var fn = GeGetRootFilename();
    fn->RemoveLast();            
    fn->AddLast("icon.tif");
    var bm = new(BaseBitmap, 1, 1);
    bm->Load(fn);
    return bm;
    }

    And even that I work well with other icons (tiff) of other PlugIns, with the icon that I made (Photoshop) not work ... Why?

    Thanks

    Please, sorry for my very bad English... :-(



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 27/05/2008 at 12:20, xxxxxxxx wrote:

    Hi!

    You want to add an icon to the entry of your Plugin in the PluginMenü? Look at the position of the plugin-registry.

    //Hook to register Plugin
    //*---------------------------------------------------------------------------*
    Bool RegisterEditorEntry(void)
    //*---------------------------------------------------------------------------*
    {
         
         return RegisterCommandPlugin(YOUR_ID,String("I am a CommandPlugin"),false,ICON,String("opens the CommandPlugin"), gNew TheCommandClass);
    }

    Hi, look at ICON. Replace it with a function, to get youricon.

    > <code>
    > static BaseBitmap* GetMyGroupIcon()
    > {
    > //Naturally you can replace the following part with something
    > like icon->Init(Filename...) Look after the BaseBitmap Class in the doc
    > static AutoAlloc<BaseBitmap> icon;
    > if (!icon) return NULL;
    > if (icon->GetBw() == 0)
    > {
    >     icon->Init(24, 24);
    >     icon->Clear(200, 0, 0);
    > }
    > return icon;
    > }
    > </code>



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 27/05/2008 at 15:03, xxxxxxxx wrote:

    He's using COFFEE, not C++ (I've done this myself about a million times). :)

    Examine this code to see how it should be done:

    // Included symbols
    include "c4d_symbols.h"

    // Global references
    var resource;
    var plugin_path;
    var plugin_icon;
    var d;

    // CLASS: Drop Object Menu - Register plugin in menu
    class DropObject_MenuPlugin : MenuPlugin
    {
         public:
              DropObject_MenuPlugin();
              GetID();
              GetIcon();
              GetName();
              GetHelp();
              Execute(doc);
              RestoreLayout(secret);
    }
    DropObject_MenuPlugin::DropObject_MenuPlugin()     { super(); }
    DropObject_MenuPlugin::GetID()                         { return PLUGIN_MENU_ID; }
    DropObject_MenuPlugin::GetIcon()                    { return plugin_icon; }
    DropObject_MenuPlugin::GetName()                    { return resource->GetString(PLUGIN_MENU_TEXT); }
    DropObject_MenuPlugin::GetHelp()                    { return resource->GetString(PLUGIN_MENU_HELP_TEXT); }
    DropObject_MenuPlugin::Execute(doc)
    {
         // Perform operation
         d->Open(TRUE,-1,-1);
    }
    DropObject_MenuPlugin::RestoreLayout(secret)
    {
         // Called by C4D to restore the dialog
         if (!d) d = new(FloorDialog);
         d->RestoreLayout(secret);
    }

    // Start of plugin
    main()
    {
         // Load Resource
         if (!(plugin_path = GeGetRootFilename())) println("Unable to find plugin!");
         plugin_path->RemoveLast();
         if (!(resource = new(GeResource, plugin_path))) println("Unable to load resource!");

    // Load Icons
         var icon_file = plugin_path->GetClone();
         icon_file->AddLast("pluginicon.tif");
         plugin_icon = new(BaseBitmap,1,1);
         plugin_icon->Load(icon_file);

    // Register Plugins
         Register(DropObject_MenuPlugin);

    // Create non-modal dialog
         d = new(FloorDialog);
    }


Log in to reply