useDynLib(gMCP)

import(methods)
# See https://stat.ethz.ch/pipermail/r-devel/2012-February/063396.html :
importFrom(stats4, plot)
import(utils)
import(rJava)
import(xlsxjars)
importFrom(CommonJavaJars, loadJars)
importFrom(PolynomF, polynom)
importFrom(mvtnorm, pmvnorm)
importFrom(MASS, fractions)
importFrom(multcomp, contrMat)
# These methods are directly called by the GUI - we note them here for the CRAN checks:
importFrom(JavaGD, JavaGD)
importFrom(Matrix, bdiag)
# This is work in progress:
# importFrom(JGR, jgr.addMenu, jgr.addMenuItem)
# I'm really not sure about this - I'll add it nevertheless for further testing since it doesn't harm:
# importFrom(methods, new)

exportClasses(graphMCP, gMCPResult, gPADInterim, entangledMCP)
exportMethods(plot, print)
exportMethods(getWeights, getMatrix, getMatrices, setWeights, getRejected, "setRejected<-", getXCoordinates, getYCoordinates)
exportMethods(simConfint, setEdge, edgeAttr, "edgeAttr<-", nodeAttr, "nodeAttr<-", getNodes)

export(graphGUI, corMatWizard)
export(gMCP, rejectNode, substituteEps, placeNodes)
export(gMCPReport, graph2latex)
export(matrix2graph, graph2matrix, bdiagNA, joinGraphs, subgraph)
export(graphAnalysis)
export(replaceVariables)
export(unitTestsGMCP)
export(getJavaInfo)

export(BonferroniHolm)
export(BretzEtAl2011)
export(truncatedHolm)
export(fixedSequence)
export(generalSuccessive, simpleSuccessiveI, simpleSuccessiveII)
export(HommelEtAl2007, HommelEtAl2007Simple)
export(HungEtWang2010)
export(MaurerEtAl1995)
export(BauerEtAl2001)
export(BretzEtAl2009a, BretzEtAl2009b, BretzEtAl2009c)
export(parallelGatekeeping, improvedParallelGatekeeping)
export(fallback, improvedFallbackI, improvedFallbackII)
export(cycleGraph)
export(HuqueAloshEtBhore2011)
export(Ferber2011, FerberTimeDose2011)
export(Entangled1Maurer2012, Entangled2Maurer2012)

export(extractPower, calcPower, graphTest, rqmvnorm)
export(plotSimCI)

export(generateWeights, generateBounds, generateTest, generatePvals)

export(doInterim,secondStageTest)
