import(methods)

#importFunctions("returnGraphComponents")

export(# ".onLoad.dynamicGraph", 
       ".onLoad.dynamicGraphInterface",
       # "blockAncestors", "blockDescendants",
       # "blockLabels", "blockPositions", "blockStrata", 
       "blockTreeToList", "dg.control",
       "wDG", "DynamicGraph", "dynamicGraphMain", # "addGraph",
       # "edgeNodeIndices", "edgeLabelPositions", "edgeLabels",
       "modalDialog", "selectDialog", "nameToVertexIndex", 
       # "newVertex", # "newVertexEdge", # "newExtraEdge",
       # "newBlock",  # "newBlockEdge", 
       # "newFactor", # "newFactorEdge", 
       # "newDefaultModelObject", "newDefaultTestObject", 
       # "newBlockEdgeList", "newBlockList", 
       # "newFactorEdgeList", "newFactorVertexList", 
       # "newNodeList", "newVertexEdgeList", "newVertexList", 
       "returnEdgeList", "returnBlockEdgeList", "returnFactorEdgeList",
       "returnFactorVerticesAndEdges", "returnVertexList", 
       "setBlocks", "setTreeBlocks", "returnExtraEdgeList", 
       "simpleGraphToGraph",
       # "vertexColors", "vertexLabelPositions", "vertexLabels", 
       # "vertexNames", "vertexPositions", "vertexStrata",
       ".propertyDialog", ".dashReplaceMethod", ".emptyDgList",
       ".asDataFrame", ".cliquesFromEdges", ".removeNull", 
       "validVertexClasses", "validFactorClasses",
       "validEdgeClasses", "validViewClasses",
       "replaceVertexList", "replaceBlockList", "replaceControls",
       ".addModel", ".addView"
       )

exportClasses("DynamicGraph", 
              "DynamicGraphModel",      "DynamicGraphView", 
              "SimpleDynamicGraphView", "FactorDynamicGraphView",
              "MoralDynamicGraphView",  "EssentialDynamicGraphView", 
              "dg.simple.graph", 
              "dg.graph",               "dg.graphedges", 
              "dg.Model",               "dg.Test",
              "dg.list", 
              "dg.NodeList",            "dg.Node", 
              "dg.VertexList",          "dg.Vertex",
                                        "dg.DiscreteVertex", 
                                        "dg.OrdinalVertex", 
                                        "dg.ContinuousVertex",
                                        "dg.TextVertex", 
              "dg.EdgeList",            "dg.Edge", 
                                        "dg.DashedEdge", 
                                        "dg.DottedEdge", 
                                        "dg.DoubleArrowEdge",
                                        "dg.DoubleConnectedEdge", 
                                        "dg.TripleConnectedEdge",
              "dg.VertexEdgeList",      "dg.VertexEdge", 
              "dg.ExtraEdgeList",       "dg.ExtraEdge", 
              "dg.BlockList",           "dg.Block",        
              "dg.BlockEdgeList",       "dg.BlockEdge",
              "dg.FactorVertexList",    "dg.FactorVertex", 
              "dg.FactorEdgeList",      "dg.FactorEdge", 
                                        "dg.Generator",       
                                        "dg.DiscreteGenerator",
                                        "dg.LinearGenerator", 
                                        "dg.QuadraticGenerator")

exportMethods("coerce",             "initialize",
              "vertices",           "vertices<-", 
              "blocks",             "blocks<-", 
              "control",            "control<-", 
              "models",             "models<-", 
              "model",              "model<-", 
              "graphs",             "graphs<-", 
              # "Title",            "Title<-", 
              "dg",                 "dg<-",      
              "draw",               "checkBlockList", 
              "top",                "vbox", 
              "canvas",             "tags", 
              "addModel",           "replaceModel",
              "addView",            "replaceView",
              "viewLabel",          "viewType",
              "visibleVertices",    "visibleBlocks",
              "edgeList",           "blockEdgeList",
              "factorVertexList",   "factorEdgeList",
              "extraList",          "extraEdgeList",
              "constrained",        "constrained<-", 
              "color",              "color<-", 
              "label",              "label<-", 
              "labelPosition",      "labelPosition<-", 
              "name",               "name<-", 
              "index",              "index<-", 
            # "vertexIndices",      "vertexIndices<-", 
              "position",           "position<-", 
              "stratum",            "stratum<-", 
              "ancestors",          "ancestors<-", 
              "descendants",        "descendants<-", 
              "parent",             "parent<-", 
              "children",           "children<-", 
              "visible",            "visible<-", 
              "blockindex",         "blockindex<-", 
              "width",              "width<-",   
              "dash",               "dash<-",   
              "oriented",           "oriented<-",
              "nodeIndices",        "nodeIndices<-", 
              "nodeIndicesOfEdge",  "nodeIndicesOfEdge<-", 
              "nodeTypesOfEdge",    # "nodeTypesOfEdge<-",
              "Names", 		    "Names<-", 
              "Constrained", 	    "Constrained<-", 
              "Colors", 	    "Colors<-", 
              "Labels", 	    "Labels<-", 
              "LabelPositions",     "LabelPositions<-", 
              "Positions", 	    "Positions<-", 
              "Strata", 	    "Strata<-", 
              "NodeAncestors", 	    "NodeAncestors<-", 
              "NodeDescendants",    "NodeDescendants<-", 
              "descendantsBlockList",
              "ancestorsBlockList",
              "Parents", 	    "Parents<-", 
              "Children",	    "Children<-", 
              "Indices", 	    # "Indices<-", 
              "NodeTypes", 	    # "NodeTypes<-", 
              "NodeIndices",        # "NodeIndices<-",     
              "Widths",             "Widths<-",   
              "Dashes",             "Dashes<-",   
              "Visible",            "Visible<-", 
              "Oriented",           "Oriented<-",
              "setSlots",           "asDataFrame",    
              "Str",                "show",
              "modifyModel",        "testEdge",        # 
              "setGraphEdges",      "graphEdges",      #
              "setGraphComponents", "graphComponents", #
            # "vertexEdges",        "vertexEdges<-",
              "addToPopups",        "propertyDialog")
