markov.nodes.properties {arvoRe} | R Documentation |
Usage
markov.nodes.properties(TheTree, .EnvironmentArvoRe)
Arguments
TheTree |
|
.EnvironmentArvoRe |
|
Examples
##---- Should be DIRECTLY executable !! ----
##-- ==> Define data, use random,
##-- or do help(data=index) for the standard data sets.
## The function is currently defined as
function(TheTree, .EnvironmentArvoRe) {
exist.var <- exists("markov.propertiesMAT", envir = .EnvironmentArvoRe)
if (!exist.var) {
markov.propertiesMAT <- data.frame( "Level" = array(,0),
"Node.N" = array(,0),
"Node.name" = array(,0),
"Father" = array(,0),
"Father.Name" = array(,0),
"Initial.cost" = array(,0),
"Incremental.cost" = array(,0),
"Final.cost" = array(,0),
"Initial.effectiveness" = array(,0),
"Incremental.effectiveness" = array(,0),
"Final.effectiveness" = array(,0))
} else {
markov.propertiesMAT <- get("markov.propertiesMAT", .EnvironmentArvoRe)
}
nodeSec <- nodoselecionado()
if ( nodeSec[1] == " ") {
msg <- paste("Nenhum nodo selecionado. Selecione um nodo da árvore e tente novamente.")
tkmessageBox(message = msg, icon="warning", title = "ÁrvoRe - AVISO")
tkfocus(tt)
} else {
node.number <- as.numeric(nodeSec[3])
column <- as.numeric(nodeSec[2])
position <- intersect(which((TheTree$Level == column)),which(TheTree$Node.N == node.number))
position.father <- intersect(which((TheTree$Level == (column-1))),which(TheTree$Node.N == TheTree$Father[position]))
if ( (TheTree$Type[position.father] == "M") &&
((TheTree$Type[position] == "T") || (TheTree$Type[position] == "C")) ) {
markovnodeWindow <- tktoplevel()
title <- "ÁrvoRe - Propriedades"
tkwm.title(markovnodeWindow,title)
position.markov <- intersect(which((markov.propertiesMAT$Level == column)),
which(markov.propertiesMAT$Node.N == node.number))
if ( length(position.markov) != 0) {
Initial.costvar <- tclVar(markov.propertiesMAT$Initial.cost[position.markov])
Incremental.costvar <- tclVar(markov.propertiesMAT$Incremental.cost[position.markov])
Final.costvar <- tclVar(markov.propertiesMAT$Final.cost[position.markov])
Initial.effectivenessvar <- tclVar(markov.propertiesMAT$Initial.effectiveness[position.markov])
Incremental.effectivenessvar <- tclVar(markov.propertiesMAT$Incremental.effectiveness[position.markov])
Final.effectivenessvar <- tclVar(markov.propertiesMAT$Final.effectiveness[position.markov])
} else {
Initial.costvar <- tclVar(0)
Incremental.costvar <- tclVar(0)
Final.costvar <- tclVar(0)
Initial.effectivenessvar <- tclVar(0)
Incremental.effectivenessvar <- tclVar(0)
Final.effectivenessvar <- tclVar(0)
}
entry.Value <- tkentry(markovnodeWindow,width="20",textvariable=Initial.costvar)
tkgrid(tklabel(markovnodeWindow,text="Custo Inicial (ciclo zero)"), sticky = "nw")
tkgrid(entry.Value, sticky = "n")
entry.Value2 <- tkentry(markovnodeWindow,width="20",textvariable=Incremental.costvar)
tkgrid(tklabel(markovnodeWindow,text="Custo Adicional (por ciclo)"), sticky = "nw")
tkgrid(entry.Value2, sticky = "n")
entry.Value3 <- tkentry(markovnodeWindow,width="20",textvariable=Final.costvar)
tkgrid(tklabel(markovnodeWindow,text="Custo Final (após o final)"), sticky = "nw")
tkgrid(entry.Value3, sticky = "n")
entry.Value4 <- tkentry(markovnodeWindow,width="20",textvariable=Initial.effectivenessvar)
tkgrid(tklabel(markovnodeWindow,text="Efetividade Inicial (ciclo zero)"), sticky = "nw")
tkgrid(entry.Value4, sticky = "n")
entry.Value5 <- tkentry(markovnodeWindow,width="20",textvariable=Incremental.effectivenessvar)
tkgrid(tklabel(markovnodeWindow,text="Efetividade Adicional (por ciclo)"), sticky = "nw")
tkgrid(entry.Value5, sticky = "n")
entry.Value6 <- tkentry(markovnodeWindow,width="20",textvariable=Final.effectivenessvar)
tkgrid(tklabel(markovnodeWindow,text="Efetividade Final (após o final)"), sticky = "nw")
tkgrid(entry.Value6, sticky = "n")
OnOK <- function()
{
Initial.costVal <- as.character(tclvalue(Initial.costvar))
Incremental.costVal <- as.character(tclvalue(Incremental.costvar))
Final.costVal <- as.character(tclvalue(Final.costvar))
Initial.effectivenessVal <- as.character(tclvalue(Initial.effectivenessvar))
Incremental.effectivenessVal <- as.character(tclvalue(Incremental.effectivenessvar))
Final.effectivenessVal <- as.character(tclvalue(Final.effectivenessvar))
if ( (!is.na(Initial.costVal)) && (nchar(Initial.costVal) > 0) &&
(!is.na(Incremental.costVal)) && (nchar(Incremental.costVal) > 0) &&
(!is.na(Final.costVal)) && (nchar(Final.costVal) > 0) &&
(!is.na(Initial.effectivenessVal)) && (nchar(Initial.effectivenessVal) > 0) &&
(!is.na(Incremental.effectivenessVal)) && (nchar(Incremental.effectivenessVal) > 0) &&
(!is.na(Final.effectivenessVal)) && (nchar(Final.effectivenessVal) > 0)
) {
tkdestroy(markovnodeWindow)
safedofunction(TheTree, .EnvironmentArvoRe, .modeltypeArvore)
set.markov.nodes.properties(TheTree, markov.propertiesMAT, column = column, node.number = node.number,
Initial.rwd.cost = Initial.costVal,
Incremental.rwd.cost = Incremental.costVal,
Final.rwd.cost = Final.costVal,
Initial.rwd.effectiveness = Initial.effectivenessVal,
Incremental.rwd.effectiveness = Incremental.effectivenessVal,
Final.rwd.effectiveness = Final.effectivenessVal)
refreshF5()
tkfocus(tt)
} else {
msg <- paste("Os valores definidos não são válidos.")
tkmessageBox(message = msg, icon="error", title = "ÁrvoRe - AVISO")
tkfocus(markovnodeWindow)
}
}
.Width.but <- 10
.Height.but <- 1
OK.but <-tkbutton(markovnodeWindow, width=.Width.but, height=.Height.but,text="OK",command=OnOK)
tkbind(markovnodeWindow, "<Return>",OnOK)
OnCancel <- function()
{
tkdestroy(markovnodeWindow)
tkfocus(tt)
}
Cancel.but <-tkbutton(markovnodeWindow, width=.Width.but, height=.Height.but, text="Cancelar", command=OnCancel)
tkbind(markovnodeWindow, "<Escape>",OnCancel)
tkgrid(OK.but, Cancel.but, sticky = "s", padx = 5, pady = 5)
tkfocus(markovnodeWindow)
# posiciona.janela.no.mouse(markovnodeWindow, 230, 280)
} else {
msg <- paste("O nodo selecionado não é ramificação de um nodo Markov \n ou é de tipo inválido.")
tkmessageBox(message = msg, icon="warning", title = "ÁrvoRe - AVISO")
tkfocus(tt)
}
}
}
[Package
arvoRe version 0.1.7
Index]