Difference between revisions of "A 'hello world' CS program"

From Ribbon Commander Documentation
Jump to: navigation, search
(Code Analysis)
(Code Analysis)
Line 68: Line 68:
 
_customUI = rxCustomUI.create("my_test_cs_ctx", "Test C# Context");
 
_customUI = rxCustomUI.create("my_test_cs_ctx", "Test C# Context");
 
</syntaxhighlight>
 
</syntaxhighlight>
Here we [[Method create|instantiate]] a new rxCustomUI object in a new context with id 'my_text_cs_ctx' with description 'Test C# Context'
+
[[rxCustomUI]] is at the top of the object model hierarchy. Here we [[Method create|instantiate]] a new [[rxCustomUI]] object in a new context with id 'my_text_cs_ctx' with description 'Test C# Context'
 +
 
 +
<syntaxhighlight lang="csharp" line start="17">
 +
    // Cache a reference to the custom UI's ribbon
 +
    rxRibbon myRibbon = _customUI.ribbon;
 +
</syntaxhighlight>
 +
Each [[rxCustomUI]] object owns a  unique [[rxRibbon]] object. Here, we are caching a reference to the [[rxRibbon]] object of _customUI.

Revision as of 12:41, 15 March 2013

Creating a tab

  • Add a new class to your project and name it MyCustomUI.
  • Add the following code to your class
  1. // Namespaces of the two Dynamic RibbonX assemblies 
  2. using LogismiX.Interop.DynamicRibbonX;
  3. using LogismiX.DynamicRibbonX.Core;
  4.  
  5. namespace DynamicRibbonXAddin
  6. {
  7.  
  8.     class MyCustomUI
  9.     {
  10.         private rxCustomUI _customUI;
  11.  
  12.         public MyCustomUI()
  13.         {
  14.             // Instantiate a new rxCustomUI in a new context with id 'my_test_cs_ctx'
  15.             _customUI = rxCustomUI.create("my_test_cs_ctx", "Test C# Context");
  16.  
  17.             // Cache a reference to the custom UI's ribbon
  18.             rxRibbon myRibbon = _customUI.ribbon;
  19.  
  20.             // Create a new tab and label it 'My Tab'
  21.             rxTab myTab = new rxTab();
  22.             myTab.label = "My First Tab";
  23.  
  24.             // Add the tab to myRibbon's tabs
  25.             myRibbon.tabs.add(myTab);
  26.  
  27.             // Render the UI
  28.             _customUI.refresh();
  29.         }
  30.  
  31.     }
  32. }
  • Modify class ThisAddin in ThisAddin.cs as follows
  1. namespace DynamicRibbonXAddin
  2. {
  3.     public partial class ThisAddIn
  4.     {
  5.         private MyCustomUI _myCustomUI;
  6.  
  7.         private void ThisAddIn_Startup(object sender, System.EventArgs e)
  8.         {
  9.             // Show the custom ribbon
  10.             _myCustomUI = new MyCustomUI();
  11.         }
  12.  
  13.         private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
  14.         {
  15.         }
  16.     }
  17. }
  • Run the add-in. If everything went according to plan a new tab labeled 'My First Tab' will appear when the application starts
    EmptyTab.png

Code Analysis

  1. // Instantiate a new rxCustomUI in a new context with id 'my_test_cs_ctx'
  2. _customUI = rxCustomUI.create("my_test_cs_ctx", "Test C# Context");

rxCustomUI is at the top of the object model hierarchy. Here we instantiate a new rxCustomUI object in a new context with id 'my_text_cs_ctx' with description 'Test C# Context'

  1.     // Cache a reference to the custom UI's ribbon
  2.     rxRibbon myRibbon = _customUI.ribbon;

Each rxCustomUI object owns a unique rxRibbon object. Here, we are caching a reference to the rxRibbon object of _customUI.