001: /* SwingML
002: * Copyright (C) 2002 SwingML Team
003: *
004: * This library is free software; you can redistribute it and/or
005: * modify it under the terms of the GNU Lesser General Public
006: * License as published by the Free Software Foundation; either
007: * version 2 of the License, or (at your option) any later version.
008: *
009: * This library is distributed in the hope that it will be useful,
010: * but WITHOUT ANY WARRANTY; without even the implied warranty of
011: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
012: * Lesser General Public License for more details.
013: *
014: * You should have received a copy of the GNU Lesser General Public
015: * License along with this library; if not, write to the
016: * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
017: * Boston, MA 02111-1307, USA.
018: *
019: * Authors:
020: * Ezequiel Cuellar <ecuellar@crosslogic.com>
021: * Robert Morris <robertj@morris.net>
022: */
023:
024: package org.swingml.model;
025:
026: import org.swingml.*;
027: import org.swingml.system.*;
028:
029: public class JInternalFrameModel extends SwingMLModel {
030:
031: private boolean closable = true;
032: private int cols = -1;
033:
034: private int height = 0;
035: private boolean iconifiable = true;
036: private String location = null;
037: private boolean maximizable = true;
038: private boolean resizable = true;
039: private int rows = -1;
040: private int width = 0;
041:
042: public JInternalFrameModel() {
043: super ();
044: }
045:
046: public int getCols() {
047: return cols;
048: }
049:
050: public int getHeight() {
051: return this .height;
052: }
053:
054: public String getLocation() {
055: return this .location;
056: }
057:
058: public int getRows() {
059: return rows;
060: }
061:
062: public int getWidth() {
063: return this .width;
064: }
065:
066: public boolean isClosable() {
067: return this .closable;
068: }
069:
070: public boolean isIconifiable() {
071: return this .iconifiable;
072: }
073:
074: public boolean isMaximizable() {
075: return this .maximizable;
076: }
077:
078: public boolean isResizable() {
079: return this .resizable;
080: }
081:
082: public void setClosable(boolean aClosable) {
083: this .closable = aClosable;
084: }
085:
086: public void setCols(int cols) {
087: this .cols = cols;
088: }
089:
090: public void setHeight(int aHeight) {
091: this .height = aHeight;
092: }
093:
094: public void setIconifiable(boolean aIconifiable) {
095: this .iconifiable = aIconifiable;
096: }
097:
098: public void setLocation(String aLocation) {
099: this .location = aLocation;
100: }
101:
102: public void setMaximizable(boolean aMaximizable) {
103: this .maximizable = aMaximizable;
104: }
105:
106: public void setResizable(boolean aResizable) {
107: this .resizable = aResizable;
108: }
109:
110: public void setRows(int rows) {
111: this .rows = rows;
112: }
113:
114: public void setWidth(int aWidth) {
115: this .width = aWidth;
116: }
117:
118: public void validate() {
119: if (super .getParent().getLayout() != null
120: && !super .getParent().getLayout().equalsIgnoreCase(
121: Constants.NONE)) {
122: SwingMLLogger.getInstance().log(
123: "Syntax Error: The parent LAYOUT should be None.");
124: }
125: if (this .getHeight() == 0 || this .getWidth() == 0) {
126: SwingMLLogger.getInstance().log(
127: "Syntax Error: The values of WIDTH and HEIGHT in the element "
128: + super .getName()
129: + " must be numeric and bigger than 0");
130: }
131: if (super .getLayout().equalsIgnoreCase(Constants.GRIDLAYOUT)) {
132: if (this .rows == 0 || this .cols == 0) {
133: SwingMLLogger
134: .getInstance()
135: .log(
136: "Syntax error: The value of the parameter ROWS or COLS in the element "
137: + super .getName()
138: + " should be numeric and greater than 0");
139: }
140: if (this .rows == -1 || this .cols == -1) {
141: SwingMLLogger
142: .getInstance()
143: .log(
144: "Syntax error: The parameter ROWS or COLS in the element "
145: + super .getName()
146: + " should be used since the parent's layout is GridLayout. Add the parameter ROWS or COLS.");
147: }
148: }
149: if (!this .getLayout().equalsIgnoreCase(Constants.GRIDLAYOUT)) {
150: if (this .rows != -1 || this .cols != -1) {
151: SwingMLLogger
152: .getInstance()
153: .log(
154: "Syntax error: The parameters ROWS or COLS in the element "
155: + super .getName()
156: + " are not allowed since its parent's layout is not GridLayout. Remove the parameter ROWS or COLS.");
157: }
158: }
159: }
160: }
|