/*******************************************************************************
* Copyright (c) 2013 hangum.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Lesser Public License v2.1
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
*
* Contributors:
* hangum - initial API and implementation
******************************************************************************/
package com.hangum.tadpole.rdb.core.editors.objects.table;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorSite;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.part.EditorPart;
import com.hangum.tadpole.commons.libs.core.define.PublicTadpoleDefine;
import com.hangum.tadpole.engine.query.dao.mysql.TableColumnDAO;
import com.hangum.tadpole.engine.query.dao.mysql.TableDAO;
import com.hangum.tadpole.engine.query.dao.system.UserDBDAO;
import com.hangum.tadpole.rdb.core.Messages;
/**
* table information editor
*
*
* @author hangum
*
*/
public class TableInformationEditor extends EditorPart {
public static final String ID = "com.hangum.tadpole.rdb.core.editors.table.edit";
private TableDAO tableDao;
private UserDBDAO userDB;
private List<TableColumnDAO> columnList;
/** pk key의 이름을 가지고 있습니다 */
private Map<String, Boolean> primaryKEYListString = new HashMap<String, Boolean>();
///////////
private TableDirectEditorComposite compositeTableData;
// private DDLSourceComposite compositeDdl;
public TableInformationEditor() {
super();
}
@Override
public void doSave(IProgressMonitor monitor) {
}
@Override
public void doSaveAs() {
}
@Override
public void init(IEditorSite site, IEditorInput input) throws PartInitException {
setSite(site);
setInput(input);
DBTableEditorInput qei = (DBTableEditorInput)input;
userDB = qei.getUserDB();
setPartName(Messages.get().TableInformationEditor_1 + " [" + qei.getName() + "]");
tableDao = qei.getTableDAO();
columnList = qei.getShowTableColumns();
for (TableColumnDAO columnDAO : columnList) {
if(PublicTadpoleDefine.isPK(columnDAO.getKey())) {
primaryKEYListString.put(columnDAO.getField(), true);
} else {
primaryKEYListString.put(columnDAO.getField(), false);
}
}
}
@Override
public boolean isDirty() {
return false;
}
@Override
public boolean isSaveAsAllowed() {
return false;
}
@Override
public void createPartControl(Composite parent) {
GridLayout gl_parent = new GridLayout(1, false);
gl_parent.marginHeight = 1;
gl_parent.verticalSpacing = 1;
gl_parent.horizontalSpacing = 1;
gl_parent.marginWidth = 1;
parent.setLayout(gl_parent);
GridLayout gl_compositeTableData = new GridLayout(1, false);
gl_compositeTableData.verticalSpacing = 1;
gl_compositeTableData.horizontalSpacing = 1;
gl_compositeTableData.marginHeight = 1;
gl_compositeTableData.marginWidth = 1;
compositeTableData = new TableDirectEditorComposite(parent, SWT.NONE, userDB, tableDao, columnList, primaryKEYListString);
compositeTableData.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
compositeTableData.setLayout(gl_compositeTableData);
}
@Override
public void setFocus() {
}
}