[MonoDevelop] How to Configure a Pad?

Alexandre Gomes alexmipego@hotmail.com
Tue, 30 Nov 2004 12:16:43 +0000

The addin.xml looks like this:

    <Import assembly="CentaurusAddin.dll"/>
<Extension path="/SharpDevelop/Workbench/Views">
    <Class id="CentaurusPad" class="MonoDevelop.Gui.Pads.CentaurusPad"/>
<Extension path="/SharpDevelop/Workbench/MainMenu">
    <MenuItem id="Centaurus" _label="Centaurus" insertafter="Help">
    <MenuItem id="MyWebSearch" _label="Test" description="test" 

The files are well placed. I used two symlinks for the xml and the dll 
files. They are both loaded since the menu shows and works just fine.
I looked into mailing list and in IRC, everyone with a clue pointed me 
into SDIWorkspaceLayout where I found an array with some common Pads. I 
tryed to delete some, and they didn't appear. Then I added mine, nothing 
showed. After a few Console.WriteLines I found that in this piece of code:

foreach (string padTypeName in commonPads)
                    IPadContent pad = workbench.PadContentCollection 
                    if (pad != null)
                        collection.Add (pad);

The pad returned is always null, so my pad doesn't get loaded. I think 
that at the time this function is called the secondary addin.xml are not 
loaded yet!?
I tryed to move my addin.xml content into sharpdevelop.addin.xml but 
nothing different. I have done several searchs in all files but I find 
no clue...
So I used my test menu to try to load the Pad, in the hope that if it 
worked I could just create a MDService to load it. I've this piece of 
code that is executed:

            PadContentCollection con = 
            IPadContent pad = new 

If is inside the menu command, and its called. The Pad constructor is 
called but yet nothing shows.... as you see I try every command possible.
Any clue?

Alexandre Miguel Pedro Gomes

Todd Berman wrote:

>On Mon, 2004-11-29 at 17:06 +0000, Alexandre Gomes wrote:
>>I had implemented a test pad, using AbstractPadContent. I had configured 
>>the pad in the addin.xml file. After I was unsuccessful I did a litle 
>>research and found that I need to change one file, something about 
>>SDIWorkspaceLayout. I changed it where it looks like it should be but 
>>yet nothing happens. I have a Console.WriteLine in Pad's contructor but 
>>it is never called. In fact, I delected some content from that files and 
>>nothing happened too. So, can anyone give the the full instructions to 
>>implement a Pad.
>>1. build the pad, implementing it using IPadContent or AbstractPadContent
>>2. add configuration into addin.xml
>>3. ???????????
>Can you show what your addin.xml file looks like? And you do realize
>that you have to put that file in build/AddIns/ for make run, and get it
>installed into $prefix/lib/monodevelop/AddIns/ for the installed version
>to pick it up.
>Basically. First make sure your addin.xml file is being picked up by MD
>(if it is a new file) and then second, make sure your pad extension is
>Monodevelop-list mailing list