| /* |
| * Copyright (C) 2012 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| package com.motorola.studio.android.emulator.skin.android.parser; |
| |
| import java.util.Collection; |
| import java.util.LinkedHashSet; |
| |
| /** |
| * DESCRIPTION: |
| * This class represents a part structure from the layout file |
| * |
| * RESPONSIBILITY: |
| * Represent part structures |
| * |
| * COLABORATORS: |
| * None. |
| * |
| * USAGE: |
| * This class is intended to be used by the LayoutFileParser and LayoutFileModel classes only |
| */ |
| public class PartBean |
| { |
| /** |
| * The string used as name of a part, at skins that have a single part |
| */ |
| public static final String UNIQUE_PART = "___UNIQUE___"; |
| |
| /** |
| * The part name |
| */ |
| private String name; |
| |
| /** |
| * The part background data |
| */ |
| private ImagePositionBean background; |
| |
| /** |
| * The part display data |
| */ |
| private RectangleBean display; |
| |
| /** |
| * The part buttons |
| */ |
| private Collection<ImagePositionBean> buttons = new LinkedHashSet<ImagePositionBean>(); |
| |
| /** |
| * Constructor |
| * Builds a new part structure with the given name |
| * |
| * @param name The layout name |
| */ |
| PartBean(String name) |
| { |
| this.name = name; |
| } |
| |
| /** |
| * Creates a new button, registers it and returns it to the user |
| * |
| * @param buttonName The name to assign to the button |
| * |
| * @return The button |
| */ |
| ImagePositionBean newButton(String buttonName) |
| { |
| ImagePositionBean bean = new ImagePositionBean(buttonName); |
| buttons.add(bean); |
| return bean; |
| } |
| |
| /** |
| * Creates a new display and registers it |
| * |
| * @return The display |
| */ |
| RectangleBean newDisplay() |
| { |
| display = new RectangleBean(); |
| return display; |
| } |
| |
| /** |
| * Creates a new background and registers it |
| * |
| * @param bgName The name of the background image |
| * |
| * @return The background |
| */ |
| ImagePositionBean newBackground(String bgName) |
| { |
| background = new ImagePositionBean(bgName); |
| return background; |
| } |
| |
| /** |
| * Retrieves the part background information |
| * |
| * @return The part background information |
| */ |
| ImagePositionBean getBackground() |
| { |
| return background; |
| } |
| |
| /** |
| * Retrieves the part display information |
| * |
| * @return The part display information |
| */ |
| RectangleBean getDisplay() |
| { |
| return display; |
| } |
| |
| /** |
| * Retrieves the part name |
| * |
| * @return The part name |
| */ |
| String getName() |
| { |
| return name; |
| } |
| |
| Collection<ImagePositionBean> getButtons() |
| { |
| return buttons; |
| } |
| |
| /* |
| * (non-Javadoc) |
| * @see java.lang.Object#toString() |
| */ |
| @Override |
| public String toString() |
| { |
| return "Part: " + name; |
| } |
| } |