source: release-kits/lirk3/bin/ant-installer/src/org/tp23/antinstaller/renderer/swing/SwingOutputFieldRenderer.java@ 14982

Last change on this file since 14982 was 14982, checked in by oranfry, 16 years ago

initial import of LiRK3

File size: 2.9 KB
Line 
1/*
2 * Copyright 2005 Paul Hinds
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package org.tp23.antinstaller.renderer.swing;
17
18import javax.swing.JPanel;
19
20import org.tp23.antinstaller.InstallerContext;
21import org.tp23.antinstaller.input.OutputField;
22import org.tp23.gui.GBCF;
23/**
24 *
25 * <p>Instances of this interface should have a no args constructor.
26* They sould
27* be Swing JComponent (e.g. subclass JPanel) and render normally responding
28* to update paint and requests to change Look & Feel in a normal way. </p>
29 * <p>Instances of this class should follow the naming convention. for each OutputField
30* Xxx in the package org.tp23.antinstaller.input there should exist a SwingOutputFieldRenderer
31* called org.tp23.antinstaller.renderer.swing.XxxRenderer</p>
32 * <p>Copyright: Copyright (c) 2004</p>
33 * <p>Company: tp23</p>
34 * @author Paul Hinds
35 * @version $Id: SwingOutputFieldRenderer.java,v 1.5 2007/01/04 22:57:17 teknopaul Exp $
36 */
37public abstract class SwingOutputFieldRenderer{
38
39 //TODO From FindBugs - sometimes this field is not used in subclasses to avoid casting
40 // replace with for example, getInputField() that casts in InputRenderers
41 // requires work in ConditionalFieldRenderer
42 protected OutputField outputField;
43 protected InstallerContext ctx;
44
45 /**
46 * this should hold a local reference and set the input fields default value
47 * if one exists
48 * @param inputField InputField
49 */
50 public void setOutputField(OutputField outputField){
51 this.outputField = outputField;
52 }
53 /**
54 * Init the swing components
55 */
56 public abstract void initComponent(JPanel parent);
57 /**
58 * Called by the Page prior to firing pagecompletion events
59 */
60 public abstract void updateInputField();
61 /**
62 * Called to update the defaults from the ResultContainer
63 */
64 public abstract void updateDefaultValue();
65
66 /**
67 * Called when validation fails
68 */
69 public abstract void renderError();
70 /**
71 * Called when the renderer should add itself to the content pane;
72 * @param content the panel to which the Renderer should add itself
73 * @param GridBagConstraintsFactory
74 * @param row the current row index in the table
75 * @param components should adjust preferred size when the overflow flag is set
76 * to compensate for width loss due to the scroll bar
77 * @return the row index after adding all its components
78 */
79 public abstract int addSelf(JPanel content, GBCF cf, int row, boolean overflow);
80
81 public void setInstallerContext(InstallerContext ctx){
82 this.ctx = ctx;
83 }
84
85
86}
Note: See TracBrowser for help on using the repository browser.