/*
* Copyright 2009 Peter Karich, peat_hal ‘at’ users ‘dot’ sourceforge ‘dot’ net.
*
* 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.
* under the License.
*/
package de.timefinder.core.ui.form;
import de.timefinder.data.algo.DataPoolSettings;
import de.timefinder.data.DBInterface;
import de.timefinder.data.access.Dao;
import de.timefinder.data.meta.UiShow;
import de.timefinder.core.ui.metadata.PoolDescriptor;
import de.timefinder.data.util.Helper;
import java.awt.BorderLayout;
import javax.swing.JComponent;
import javax.swing.JPanel;
import org.springframework.richclient.application.support.AbstractView;
/**
*
* @author Peter Karich, peat_hal ‘at’ users ‘dot’ sourceforge ‘dot’ net
*/
public class TimeFinderMasterDetailView<T extends DBInterface> extends AbstractView {
protected DataPoolSettings settings;
private CollectionMasterDetailForm<T> mdForm;
public TimeFinderMasterDetailView() {
}
/**
* Create the actual UI control for this view. It will be placed into the window
* according to the layout of the page holding this view.
*/
@Override
protected JComponent createControl() {
@SuppressWarnings("unchecked")
PoolDescriptor<T> tableDescriptor = (PoolDescriptor<T>) getDescriptor();
settings = tableDescriptor.getSettings();
JPanel panel = new JPanel(new BorderLayout());
mdForm = createForm(tableDescriptor.getDao(), Helper.convert(String.class,
tableDescriptor.getObjectDescriptor().getUiProperties(UiShow.OVERVIEW)));
panel.add(mdForm.getControl(), BorderLayout.CENTER);
return panel;
}
/**
* This method returns the default form component, which will be displayed
* as header of the table.
*/
public CollectionMasterDetailForm<T> createForm(Dao<T> dao, String columns[]) {
return new CollectionMasterDetailForm<T>(dao, columns);
}
}