the code for the main class !!? :
using System;
namespace Moodys
{
public class Main
{
private IAction addAct = null;
private IAction genCode = null;
private IAction gesVC = null;
private IAction addcond = null;
private IAction genDoc = null;
private IAction genModel = null;
//Called Before EA starts to check Add-In Exists
public String EA_Connect(EA.Repository Repository)
{
return "a string";
}
public object EA_GetMenuItems(EA.Repository Repository, string Location, string MenuName)
{
EA.Package aPackage = Repository.GetTreeSelectedPackage();
Boolean debug = isDebug(Repository, "debug");
switch( MenuName )
{
case "":
return "-&Moodys";
case "-&Moodys":
if (debug)
{
string[] ar = { "&Générer Nouvelle dll de calcul", "-&Ajouter Activity", "-&Ajouter Condition", "&Générer Code", "-&Gestion VC", "&Générer doc (HTML)", "&Clear Model" };
return ar;
}
else
{
string[] ar = { "&Générer Nouvelle dll de calcul", "&Ajouter Activity", "&Ajouter Condition", "&Générer Code", "&Générer doc (HTML)"};
return ar;
}
case "-&Gestion VC":
string[] vc = { "&Remove VC"};
return vc;
case "-&Ajouter Activity" :
string[] aa = {"&One","&All"};
return aa;
case "-&Ajouter Condition":
string[] ajC = { "&One", "&All" };
return ajC;
}
return "";
}
bool IsProjectOpen(EA.Repository Repository)
{
try
{
EA.Collection c = Repository.Models;
return true;
}
catch
{
return false;
}
}
public void EA_GetMenuState(EA.Repository Repository, string Location, string MenuName, string ItemName, ref bool IsEnabled, ref bool IsChecked)
{
if( IsProjectOpen(Repository) )
{
if (ItemName == "&Clear Model")
{
IsChecked = false;
IsEnabled = true;
}
else if (ItemName == "&Générer Nouvelle dll de calcul")
{
if (genModel == null)
genModel = new GenModel(this);
IsEnabled = genModel.goodDir(Repository);
}
else if (MenuName == "-&Ajouter Activity" || ItemName == "&Ajouter Activity")
{
if (addAct == null)
addAct = new AddActivity(this);
IsEnabled = addAct.goodDir(Repository) && Location == "TreeView";
}
else if (MenuName == "-&Ajouter Condition" || ItemName == "&Ajouter Condition")
{
if (addcond == null)
addcond = new AddCond();
IsEnabled = addcond.goodDir(Repository) && Location == "TreeView";
}
else if (ItemName == "&Générer Code")
{
if (genCode == null)
genCode = new genereCode(this);
IsEnabled = genCode.goodDir(Repository) && Location == "TreeView";
}
else if (MenuName == "-&Gestion VC")
{
if (gesVC == null)
gesVC = new gestionVC();
IsEnabled = gesVC.goodDir(Repository) && Location == "TreeView";
}
else if (ItemName == "&Générer doc (HTML)")
{
// IsChecked = false;
if (genDoc == null)
genDoc = new GenerationDoc(this);
IsEnabled = genDoc.goodDir(Repository) && Location == "TreeView";
}
}
else
IsEnabled = false;
}
public void EA_MenuClick(EA.Repository Repository, string Location, string MenuName, string ItemName)
{
if (ItemName == "&Générer Nouvelle dll de calcul")
{
genModel.start();
}
else if ((MenuName == "-&Ajouter Activity" && ItemName == "&One") || ItemName == "&Ajouter Activity")
{
addAct.start();
}
else if (MenuName == "-&Ajouter Activity" && ItemName == "&All")
{
((AddActivity)addAct).startAll();
}
else if ((MenuName == "-&Ajouter Condition" && ItemName == "&One") || ItemName == "&Ajouter Condition")
{
addcond.start();
}
else if (MenuName == "-&Ajouter Condition" && ItemName == "&All")
{
((AddCond)addcond).startAll();
}
...