Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware API
      • ZBrush Python API
      • ZBrush GoZ API
      • Code Examples on Github
    • Forum
    • Downloads
    • Support
      • Support Procedures
      • Registered Developer Program
      • Plugin IDs
      • Contact Us
    • Categories
      • Overview
      • News & Information
      • Cinema 4D SDK Support
      • Cineware SDK Support
      • ZBrush 4D SDK Support
      • Bugs
      • General Talk
    • Recent
    • Tags
    • Users
    • Login

    What Kind of Tiff for the Icon's Menu?

    Scheduled Pinned Locked Moved SDK Help
    3 Posts 0 Posters 319 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • H Offline
      Helper
      last edited by

      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... 😞

      1 Reply Last reply Reply Quote 0
      • H Offline
        Helper
        last edited by

        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>

        1 Reply Last reply Reply Quote 0
        • H Offline
          Helper
          last edited by

          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);
          }

          1 Reply Last reply Reply Quote 0
          • First post
            Last post