1
我正在使用一種in-links類型的正式模塊。這些鏈接(我們稱之爲Type X鏈接)由4個不同的正式模塊組成,共4個深度級別。例如我在模塊A正在處理中,具有在鏈接從模塊B中,具有在鏈接從模塊C中,具有在鏈接從模塊D.顯示來自其他模塊的DXL列
我有一個視圖,顯示在不同的列每個鏈路中級別:列1:深度1鏈路(AB),列2:深度2鏈路(BC),列3:深度3鏈路(CD)。
每列由腳本生成這樣的:
pragma runLim, 0
int lines[4] = {0, 0, 0, 0}
void adjustLines(int depth, showAtDepth) {
int count
for (count = 0; count < 4; count++) {
while (lines[depth-1] < lines[count]) {
if (depth == showAtDepth) displayRich("\\pard " " ")
lines[depth-1]++
}
}
}
void showIn(Object o, int depth) {
Link l
LinkRef lr
ModName_ otherMod = null
Module linkMod = null
ModuleVersion otherVersion = null
Object othero
string disp = null
string s = null
string plain, plainDisp
int plainTextLen
int count
bool doneOne = false
string linkModName = "../links/TYPE X"
for lr in all(o<-linkModName) do {
otherMod = module (sourceVersion lr)
if (!null otherMod) {
if ((!isDeleted otherMod) && (null data(sourceVersion lr))) {
load((sourceVersion lr),false)
}
}
}
for l in all(o<-linkModName) do {
otherVersion = sourceVersion l
otherMod = module(otherVersion)
if (null otherMod || isDeleted otherMod) continue
othero = source l
if (null othero) {
load(otherVersion,false)
}
othero = source l
if (null othero) continue
if (isDeleted othero) continue
int oldLines = lines[depth-1]
adjustLines(depth, 1)
bool kick = (doneOne) && (lines[depth-1] == oldLines)
if (kick) {
lines[depth-1]++
if (depth == 1) displayRich("\\pard " " ")
}
if (depth < 4) {
showIn(othero, depth+1)
}
doneOne = true
if (depth == 1) {
s = name(otherMod)
if (isBaseline(otherVersion)) {
s = s " [" versionString(otherVersion) "]"
}
s = "{\\b " s " : }"
s = s " " probeRichAttr_(othero,"Object Heading", false)
s = s " " probeRichAttr_(othero,"Object Text", false)
displayRich s
}
lines[depth-1] += 3
}
}
showIn(obj,1)
然而現在,我要添加包含模塊C和其他新的模塊做之間定義的其他類型的鏈路(類型Y)的新列不直接與我的模塊(A)。幸運的是,我將這些關係放在模塊C的一列(作爲佈局dxl)。
我怎麼能顯示我的模塊中(A)在模塊(C)保存的視圖中列被保存在我目前的看法?
預先感謝您的合作,您的幫助
我認爲最簡單的解決辦法是使佈局DXL您在模塊C一DXL屬性都有。如果您將佈局DXL轉換爲DXL屬性,則可以直接從模塊A中的佈局DXL調用它。如果您從模塊C發佈佈局DXL,我可以幫助您將其修改爲DXL屬性。 – 2013-03-27 18:13:37