001: /*
002: * JFolder, Copyright 2001-2006 Gary Steinmetz
003: *
004: * Distributable under LGPL license.
005: * See terms of license at gnu.org.
006: */
007:
008: package org.jfolder.console.base.context;
009:
010: //base classes
011: import java.io.IOException;
012: import java.util.HashMap;
013:
014: //project specific classes
015: import org.jfolder.common.utils.misc.MiscHelper;
016: import org.jfolder.common.utils.xml.XMLHelper;
017: import org.jfolder.console.base.BaseSubConsolePageContext;
018: import org.jfolder.console.base.ConsolePageContext;
019: import org.jfolder.console.base.NamesForSubCpc;
020:
021: //other classes
022:
023: public abstract class BaseSubLeftRightConsolePageContext extends
024: BaseSubConsolePageContext {
025:
026: protected BaseSubLeftRightConsolePageContext(
027: ConsolePageContext inCpc, String inLeftName,
028: String inRightName) {
029:
030: super (inCpc, NamesForSubCpc.getBaseSubLeftRightCpcName(
031: inLeftName, inRightName));
032: }
033:
034: //
035: public abstract int getLeftWidth();
036:
037: public abstract void renderLeftPane() throws IOException;
038:
039: public void renderLeftSection() throws IOException {
040: HashMap divStyles = new HashMap();
041: divStyles.put("overflow", "visible");
042: divStyles
043: .put("width", "" + (getLeftWidth() * getColumnWidth()));
044: //
045: //divStyles.put("height", "" + (getColumnWidth()));
046: //divStyles.put("border-width", "" + 1);
047: //divStyles.put("border-color", "#000000");
048: //divStyles.put("border-style", "solid");
049: //
050: HashMap divAttrs = new HashMap();
051: divAttrs.put("style", XMLHelper.fromStylesToAttr(divStyles));
052: //
053: startCell(getLeftWidth());
054: printAndIndent("<div " + XMLHelper.convertAttrs(divAttrs) + ">");
055: //
056: renderLeftPane();
057: //
058: revertAndPrint("</div>");
059: endCell();
060: }
061:
062: //public void renderTopRightSection() throws IOException {
063: // //
064: // startCell(this.rightWidth);
065: // simpleAndPrint("Tag Buttons");
066: // endCell();
067: //}
068:
069: //
070: public abstract int getRightWidth();
071:
072: public abstract void renderRightPane() throws IOException;
073:
074: public void renderRightSection() throws IOException {
075: HashMap divStyles = new HashMap();
076: divStyles.put("overflow", "visible");
077: divStyles.put("width", ""
078: + (getRightWidth() * getColumnWidth()));
079: //
080: //divStyles.put("height", "" + (getColumnWidth()));
081: //divStyles.put("border-width", "" + 1);
082: //divStyles.put("border-color", "#000000");
083: //divStyles.put("border-style", "solid");
084: //
085: HashMap divAttrs = new HashMap();
086: divAttrs.put("style", XMLHelper.fromStylesToAttr(divStyles));
087: //
088: startCell(getRightWidth());
089: printAndIndent("<div " + XMLHelper.convertAttrs(divAttrs) + ">");
090: //
091: renderRightPane();
092: //
093: revertAndPrint("</div>");
094: endCell();
095: }
096:
097: protected void renderConsolePage() throws IOException {
098:
099: //
100: //startTable(this.leftWidth + this.rightWidth);
101: //startRow();
102: //
103: //renderTopLeftSection();
104: //
105: //renderTopRightSection();
106: //
107: //endRow();
108: //endTable();
109: //
110: //startTable(this.leftWidth + this.rightWidth);
111: //startRow();
112: //startAndEndCell(this.leftWidth + this.rightWidth, "<hr/>");
113: //endRow();
114: //endTable();
115: //
116: startTable(getLeftWidth() + getRightWidth());
117: startRow();
118: //
119: renderLeftSection();
120: //
121: renderRightSection();
122: //
123: endRow();
124: endTable();
125:
126: //
127: MiscHelper.println("BasSubLrCpc getLeftWidth() = "
128: + getLeftWidth());
129: MiscHelper.println("BasSubLrCpc getRightWidth() = "
130: + getRightWidth());
131: MiscHelper.println("BasSubLrCpc getLongestRowWidth() = "
132: + getLongestRowWidth());
133:
134: //
135: }
136: }
|