KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > tapestry > contrib > inspector > ViewTabs


1 // Copyright 2004, 2005 The Apache Software Foundation
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14

15 package org.apache.tapestry.contrib.inspector;
16
17 import org.apache.tapestry.BaseComponent;
18 import org.apache.tapestry.IAsset;
19 import org.apache.tapestry.IRequestCycle;
20
21 /**
22  * Component of the {@link Inspector} page used to select the view.
23  *
24  * @author Howard Lewis Ship
25  */

26
27 public abstract class ViewTabs extends BaseComponent
28 {
29     private static String JavaDoc[] _views =
30     { View.SPECIFICATION, View.TEMPLATE, View.PROPERTIES, View.ENGINE };
31
32     public String JavaDoc[] getViews()
33     {
34         return _views;
35     }
36
37     public abstract void setView(String JavaDoc value);
38
39     public abstract String JavaDoc getView();
40
41     private IAsset getImageForView(boolean focus)
42     {
43         Inspector inspector = (Inspector) getPage();
44
45         String JavaDoc view = getView();
46
47         boolean selected = view.equals(inspector.getView());
48
49         StringBuffer JavaDoc buffer = new StringBuffer JavaDoc(view);
50
51         if (selected)
52             buffer.append("_selected");
53
54         if (focus)
55             buffer.append("_focus");
56
57         String JavaDoc key = buffer.toString();
58
59         return (IAsset) getAssets().get(key);
60     }
61
62     public IAsset getViewImage()
63     {
64         return getImageForView(false);
65     }
66
67     public IAsset getFocusImage()
68     {
69         return getImageForView(true);
70     }
71
72     public IAsset getBannerImage()
73     {
74         Inspector inspector = (Inspector) getPage();
75         String JavaDoc selectedView = inspector.getView();
76         String JavaDoc key = selectedView + "_banner";
77
78         return (IAsset) getAssets().get(key);
79     }
80
81     public void selectTab(IRequestCycle cycle)
82     {
83         Inspector inspector = (Inspector) getPage();
84         inspector.setView(getView());
85     }
86 }
Popular Tags