setTarget.html
<HTML>
<HEAD>
<script>var
dFrameFilePath = '../../../../../dFrame/'</script>
<script
language="Javascript"
src="../../../../../dFrame/dFrame/lib/DFrameAPI.js"></script>
<script
language="Javascript">
//Style
DFrameAPI.include('dFrame/styles/blue/styleBlue.js')
//globals
var dFrameLeft
var textStyle
var dFrameStyleNoBgColor
var comment
DFrameAPI.onLoad = function(){
//Create a new style and discard contentBgColor property
dFrameStyleNoBgColor = new DFrameStyle(dFrameStyle)
dFrameStyleNoBgColor.setContentBgColor(false)
txtStyle = new ButtonStyle(buttonStyle)
//The Text must be over the Buttons of the Bar
txtStyle.setOverlayParentBars(true)
txtStyle.setWidth(0)
txtStyle.setBgNormal('#187E55')
//Add the left DFrame
dFrameLeft = new DFrame([1, 1, 30, 99], 'Left Frame',
dFrameStyleNoBgColor);
//We need a bar on the TOP of the DFrame, with buttons from
top to bottom
bar = dFrameLeft.addBar('TOP')
bar.setStartFrom('TOP')
//Although the Bar is set on the top if is a vertical Bar
because of startFrom=TOP
//set autoWidth to empty string: The width will be the
width of the parent DFrame
//set autoHeight to CONTENT: The height will be the height
of the 2 Buttons.
bar.setAutoWidth('')
bar.setAutoHeight('CONTENT')
bar.setBordersWidth(1)
//Create an 'invisible' Text: Timer value is set to 0
comment = bar.addText([5, '10'], 0, txtStyle)
//Create a style for Buttons with images
var x = new ButtonStyle(buttonStyle)
x.setAutoWidth('LARGEST')
x.setLabelHAlign('LEFT')
x.setLabelLeftMargin(35)
x.setImageHMargin(5)
x.setImageVMargin(5)
x.setImageNormal('dFrame/doc/Reference/examples/setTarget/newWinNormal.gif')
x.setImageSelected('dFrame/doc/Reference/examples/setTarget/newWinSelected.gif')
var targetTrueButton =
bar.addButton('setMultipleTarget:<br><b>true</b>',
'setTargetMultipleOrNot(thisDFrame, true)', x)
x.setImageNormal('dFrame/doc/Reference/examples/setTarget/sameWinNormal.gif')
x.setImageSelected('dFrame/doc/Reference/examples/setTarget/sameWinSelected.gif')
bar.addButton('setMultipleTarget:<br><b>false</b>',
'setTargetMultipleOrNot(thisDFrame, false)', x)
dFrameLeft.setTarget('openRightPage()')
dFrameLeft.setURL('./setTarget/leftPage.html')
dFrameLeft.setMultipleTarget(true)
targetTrueButton.setLook('Selected')
}
function openRightPage() {
//Use the DFrameCollector class to reuse closed DFrames
//define a key for this kind of dFrame
var key = 'keyForRightDFrame'
//look for a dFrame with this key in the dFrameCollector
var dFrame = DFrameCollector.find(key)
//if not found: create a new dFrame
if ( !dFrame ) {
//Special style methods so that dFrames are cascaded
dFrameStyleNoBgColor.setIndentX(40)
dFrameStyleNoBgColor.setIndentY(40)
dFrame = new DFrame([40, 20, 70, 50], 'Right Frame',
dFrameStyleNoBgColor);
dFrame.addButton('Close', 'thisDFrame.closeFrame()')
}
//register the dFrame in the dFrameCollector for reuse
DFrameCollector.register(dFrame, key)
return dFrame
}
function
setTargetMultipleOrNot(dFrame, b) {
dFrame.setMultipleTarget(b)
if (b) comment.setText('Links will be opened in new DFrames', 2)
else comment.setText('Links will be opened<br>in the same
DFrame', 2)
}
</script>
</HEAD>
</HTML>
leftPage.html
<HTML>
<HEAD>
<script>
function onLoadDFrame(){thisDFrame.setContentBgColor('yellow')}
</script>
</HEAD>
<BODY BGCOLOR=YELLOW>
<br><br>
<a href = "rightPage1.html"> link for right page, blue</a>
<br><br>
<a href = "rightPage2.html"> link for right page, green</a>
<br><br>
<a href = "rightPage3.html"> link for right page, red</a>
<br><br>
<a href = "rightPage4.html"> link for right page, silver</a>
<br><br>
<a href = "rightPage5.html"> link for right page, olive</a>
<br><br>
<a href = "rightPage6.html"> link for right page, yellow</a>
<br><br>
<a href = "rightPage7.html"> link for right page, pink</a>
</BODY>
rightPageX.html
<HTML>
<HEAD>
<script>
function
onLoadDFrame(){thisDFrame.setContentBgColor('blue')}
</script>
</HEAD>
<BODY BGCOLOR=BLUE>
<br>
</BODY>
</HEAD>
</HTML>