Esempio n. 1
0
 public void GetPngsInDir(DirectoryInfo d)
 {
     foreach (FileInfo f in d.GetFiles("*.png"))
     {
         var    path = f.FullName.Replace(fullpath + "/", "");
         string duplicatevalue;
         if (icons.TryGetValue(f.Name, out duplicatevalue))
         {
             if (SHEET_SPECIFIC != duplicatevalue)
             {
                 icons.Add(DiaCss.CanonicalizePath(duplicatevalue),
                           duplicatevalue);
                 icons.Add(DiaCss.CanonicalizePath(path), path);
                 icons[f.Name] = SHEET_SPECIFIC;
             }
             else
             {
                 icons.Add(DiaCss.CanonicalizePath(path), path);
             }
         }
         else
         {
             icons.Add(f.Name, path);
         }
     }
 }
Esempio n. 2
0
    // For a given Dia object, return the matching CSS class
    public string GetClassForObjectName(string name)
    {
        string cssclass = name;
        string path     = "";
        string sheet    = "";

        switch (name)
        {
        case "AADL - Box":
            cssclass = "daadlprocess";
            break;

        case "AADL - Process":
            cssclass = "daadlprocess";
            break;

        case "AADL - Thread":
            cssclass = "daadlthread";
            break;

        case "AADL - Data":
            cssclass = "daadldata";
            break;

        case "AADL - Processor":
            cssclass = "daadlprocessor";
            break;

        case "AADL - Memory":
            cssclass = "daadlmemory";
            break;

        case "AADL - Bus":
            cssclass = "daadlbus";
            break;

        case "AADL - System":
            cssclass = "daadlsystem";
            break;

        case "AADL - Subprogram":
            cssclass = "daadlsubprogram";
            break;

        case "AADL - Thread Group":
            cssclass = "daadlthreadgroup";
            break;

        case "AADL - Device":
            cssclass = "daadldevice";
            break;

        case "AADL - Package":
            cssclass = "daadlpackage";
            break;

        case "chronogram - reference":
            cssclass = "dchronoref";
            break;

        case "chronogram - line":
            cssclass = "dchronoline";
            break;

        case "Database - Table":
            cssclass = "dtable";
            break;

        case "Database - Reference":
            cssclass = "dreference";
            break;

        case "Database - Compound":
            cssclass = "dcompound";
            break;

        case "ER - Entity":
            cssclass = "dc2sheetentity";
            break;

        case "ER - Relationship":
            cssclass = "drelationship";
            break;

        case "ER - Attribute":
            cssclass = "dattribute";
            break;

        case "ER - Participation":
            cssclass = "dparticipation";
            break;

        case "Flowchart - Box":
            cssclass = "dAssortedsquare";
            break;

        case "Flowchart - Parallelogram":
            cssclass = "dpgram";
            break;

        case "Flowchart - Diamond":
            cssclass = "dc2sheetdiamond";
            break;

        case "Flowchart - Ellipse":
            cssclass = "dcircle";
            break;

        case "FS - Flow":
            cssclass = "dflow";
            break;

        case "FS - Orthflow":
            cssclass = "dorthflow";
            break;

        case "FS - Function":
            cssclass = "dc2sheetfunction";
            break;

        case "GRAFCET - Step":
            cssclass = "detape";
            break;

        case "GRAFCET - Action":
            cssclass = "daction";
            break;

        case "GRAFCET - Condition":
            cssclass = "dc2sheetcondition";
            break;

        case "GRAFCET - Transition":
            cssclass = "dtransition";
            break;

        case "GRAFCET - Vergent":
            cssclass = "dvergent";
            break;

        case "GRAFCET - Arc":
            cssclass = "dvector";
            break;

        case "Istar - goal":
            cssclass = "dc2sheetgoal";
            break;

        case "Istar - other":
            cssclass = "dresource";
            break;

        case "Istar - actor":
            cssclass = "dactor";
            break;

        case "Istar - link":
            cssclass = "dlink";
            break;

        case "KAOS - other":
            cssclass = "dc2sheetagent";
            break;

        case "KAOS - goal":
            cssclass = "dKAOSsoftgoal";
            break;

        case "KAOS - maor":
            cssclass = "dand-ref";
            break;

        case "KAOS - mbr":
            cssclass = "dobstructs";
            break;

        case "Jackson - domain":
            cssclass = "dgiven_domain";
            break;

        case "Jackson - requirement":
            cssclass = "dc2sheetrequirement";
            break;

        case "Jackson - phenomenon":
            cssclass = "dshared_phen";
            break;

        case "Misc - Tree":
            cssclass = "dtree";
            break;

        case "Misc - Analog Clock":
            cssclass = "danalog_clock";
            break;

        case "Misc - Measure":
            cssclass = "dc2sheetmeasure";
            break;

        case "Misc - Grid":
            cssclass = "dgrid_object";
            break;

        case "Network - Bus":
            cssclass = "dbus";
            break;

        case "Network - WAN Link":
            cssclass = "dwanlink";
            break;

        case "Network - Base Station":
            cssclass = "dbasestation";
            break;

        case "Network - Radio Cell":
            cssclass = "dradiocell";
            break;

        case "Network - Laptop Computer":
            cssclass = "dlaptop";
            break;

        case "SADT - arrow":
            cssclass = "darrow";
            break;

        case "SADT - box":
            cssclass = "dsadtbox";
            break;

        case "SADT - annotation":
            cssclass = "dannotation";
            break;

        case "UML - Class":
            cssclass = "dumlclass";
            break;

        case "UML - Note":
            cssclass = "dc2sheetnote";
            break;

        case "UML - Dependency":
            cssclass = "dc2sheetdependency";
            break;

        case "UML - Realizes":
            cssclass = "drealizes";
            break;

        case "UML - Generalization":
            cssclass = "dgeneralization";
            break;

        case "UML - Association":
            cssclass = "dassociation";
            break;

        case "UML - Implements":
            cssclass = "dimplements";
            break;

        case "UML - Constraint":
            cssclass = "dconstraint";
            break;

        case "UML - SmallPackage":
            cssclass = "dsmallpackage";
            break;

        case "UML - LargePackage":
            cssclass = "dlargepackage";
            break;

        case "UML - Actor":
            cssclass = "dactor";
            break;

        case "UML - Usecase":
            cssclass = "dcase";
            break;

        case "UML - Lifeline":
            cssclass = "dlifeline";
            break;

        case "UML - Object":
            cssclass = "dobject";
            break;

        case "UML - Message":
            cssclass = "dmessage";
            break;

        case "UML - Component":
            cssclass = "dc2sheetcomponent";
            break;

        case "UML - Component Feature":
            cssclass = "dfacet";
            break;

        case "UML - Node":
            cssclass = "dnode";
            break;

        case "UML - Classicon":
            cssclass = "dclassicon";
            break;

        case "UML - State Term":
            cssclass = "dstate_term";
            break;

        case "UML - State":
            cssclass = "dc2sheetstate";
            break;

        case "UML - Activity":
            cssclass = "dactivity";
            break;

        case "UML - Branch":
            cssclass = "dbranch";
            break;

        case "UML - Fork":
            cssclass = "dfork";
            break;

        case "UML - Transition":
            cssclass = "dtransition";
            break;

        default:
            if (objecticons.TryGetValue(name, out cssclass))
            {
                if (icons.icons.TryGetValue(cssclass, out path))
                {
                    if (DiaIcons.SHEET_SPECIFIC == path)
                    {
                        if (objectsheets.TryGetValue(name, out sheet))
                        {
                            // Some shape directories are split into several sheets
                            string shape4sheet = sheet;
                            switch (sheet)
                            {
                            case "ciscocomputer":
                            case "ciscohub":
                            case "ciscomisc":
                            case "cisconetwork":
                            case "ciscotelephony":
                                shape4sheet = "Cisco";
                                break;

                            case "civil":
                                shape4sheet = "Civil";
                                break;

                            case "network":
                                shape4sheet = "Network";
                                break;
                            }
                            cssclass =
                                "d" + shape4sheet +
                                DiaCss.CanonicalizePath(cssclass).Replace(".png",
                                                                          "");
                        }
                    }
                    else
                    {
                        cssclass =
                            "d" + DiaCss.CanonicalizePath(cssclass).Replace(".png",
                                                                            "");
                    }
                }
            }
            break;
        }

        return(cssclass);
    }