[svn r262] made i18n work, added some images, made preperments for the user options
This commit is contained in:
parent
cb8d6bc334
commit
0d5312462c
|
@ -114,6 +114,14 @@ public class VascAnnotationParser {
|
||||||
return getValue(beanClass,VascDefaultValue.class,null);
|
return getValue(beanClass,VascDefaultValue.class,null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getVascImage(Class beanClass,String property) {
|
||||||
|
return (String)getValue(beanClass,VascImage.class,property);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getVascImage(Class beanClass) {
|
||||||
|
return (String)getValue(beanClass,VascImage.class,null);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* No oop code here...refactor at some point in time
|
* No oop code here...refactor at some point in time
|
||||||
*
|
*
|
||||||
|
@ -129,7 +137,11 @@ public class VascAnnotationParser {
|
||||||
|
|
||||||
Object result = null;
|
Object result = null;
|
||||||
if(property==null) {
|
if(property==null) {
|
||||||
result = doAnnotation(beanClass.getAnnotation(annotationType));
|
Annotation anno = beanClass.getAnnotation(annotationType);
|
||||||
|
if (anno==null) {
|
||||||
|
return null; // no annotion avaible
|
||||||
|
}
|
||||||
|
result = doAnnotation(anno);
|
||||||
if(result!=null) {
|
if(result!=null) {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -219,6 +231,13 @@ public class VascAnnotationParser {
|
||||||
VascColumnWidth c = (VascColumnWidth)b;
|
VascColumnWidth c = (VascColumnWidth)b;
|
||||||
return c.width();
|
return c.width();
|
||||||
}
|
}
|
||||||
|
if (a.equals(VascImage.class)) {
|
||||||
|
VascImage c = (VascImage)b;
|
||||||
|
if("".equals(c.image()) | "null".equals(c.image())) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return c.image();
|
||||||
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
51
src/com/idcanet/vasc/annotations/VascImage.java
Normal file
51
src/com/idcanet/vasc/annotations/VascImage.java
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2004-2006 IDCA. All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||||
|
* following conditions are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice, this list of conditions and
|
||||||
|
* the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions
|
||||||
|
* and the following disclaimer in the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY IDCA AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||||
|
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL IDCA OR
|
||||||
|
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||||
|
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
* The views and conclusions contained in the software and documentation are those of the authors and
|
||||||
|
* should not be interpreted as representing official policies, either expressed or implied, of IDCA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.idcanet.vasc.annotations;
|
||||||
|
|
||||||
|
import java.lang.annotation.ElementType;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the VascImage property
|
||||||
|
*
|
||||||
|
* @author Willem Cazander
|
||||||
|
* @version 1.0 May 27, 2006
|
||||||
|
*/
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
@Target({ElementType.METHOD,ElementType.TYPE})
|
||||||
|
public @interface VascImage {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The resource or key of the Image, default to "null"
|
||||||
|
* @see com.idcanet.i18n.I18nAnnotationParser#getI18nLabelKey(Class, String)
|
||||||
|
* @return The key of the ToolTip
|
||||||
|
*/
|
||||||
|
String image() default "null";
|
||||||
|
}
|
57
src/com/idcanet/vasc/core/AbstractVascDataSource.java
Normal file
57
src/com/idcanet/vasc/core/AbstractVascDataSource.java
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2004-2007 IDCA. All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||||
|
* following conditions are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice, this list of conditions and
|
||||||
|
* the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions
|
||||||
|
* and the following disclaimer in the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY IDCA AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||||
|
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL IDCA OR
|
||||||
|
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||||
|
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
* The views and conclusions contained in the software and documentation are those of the authors and
|
||||||
|
* should not be interpreted as representing official policies, either expressed or implied, of IDCA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.idcanet.vasc.core;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Willem Cazander
|
||||||
|
* @version 1.0 Aug 2, 2007
|
||||||
|
*/
|
||||||
|
abstract public class AbstractVascDataSource implements VascDataSource {
|
||||||
|
|
||||||
|
Map<String,Object> parameters = null;
|
||||||
|
|
||||||
|
public AbstractVascDataSource() {
|
||||||
|
parameters = new HashMap<String,Object>(10);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDataParameter(String key,Object data) {
|
||||||
|
parameters.put(key,data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Object getDataParameter(String key) {
|
||||||
|
return parameters.get(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Set<String> getDataParameterKeys() {
|
||||||
|
return parameters.keySet();
|
||||||
|
}
|
||||||
|
}
|
|
@ -27,8 +27,7 @@
|
||||||
package com.idcanet.vasc.core;
|
package com.idcanet.vasc.core;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
import com.idcanet.xtes.xpql.query.Query;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -38,7 +37,11 @@ import com.idcanet.xtes.xpql.query.Query;
|
||||||
*/
|
*/
|
||||||
public interface VascDataSource {
|
public interface VascDataSource {
|
||||||
|
|
||||||
public List<Object> executeQuery(Query query) throws Exception;
|
public void setDataParameter(String key,Object data);
|
||||||
|
public Object getDataParameter(String key);
|
||||||
|
public Set<String> getDataParameterKeys();
|
||||||
|
|
||||||
|
public List<Object> execute() throws Exception;
|
||||||
|
|
||||||
public void persist(Object object) throws Exception;
|
public void persist(Object object) throws Exception;
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,6 @@ import com.idcanet.vasc.core.actions.ColumnVascAction;
|
||||||
import com.idcanet.vasc.core.actions.GlobalVascAction;
|
import com.idcanet.vasc.core.actions.GlobalVascAction;
|
||||||
import com.idcanet.vasc.core.actions.RowVascAction;
|
import com.idcanet.vasc.core.actions.RowVascAction;
|
||||||
import com.idcanet.vasc.core.column.VascTableColumn;
|
import com.idcanet.vasc.core.column.VascTableColumn;
|
||||||
import com.idcanet.xtes.xpql.query.Query;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -44,14 +43,13 @@ public class VascTable {
|
||||||
|
|
||||||
private String name = null;
|
private String name = null;
|
||||||
private String headerName = null;
|
private String headerName = null;
|
||||||
private String description = null;
|
private String headerImage = null;
|
||||||
private String toolTip = null;
|
private String headerToolTip = null;
|
||||||
private List<VascTableColumn> tableColumns = null;
|
private List<VascTableColumn> tableColumns = null;
|
||||||
private List<RowVascAction> rowActions = null;
|
private List<RowVascAction> rowActions = null;
|
||||||
private List<ColumnVascAction> columnActions = null;
|
private List<ColumnVascAction> columnActions = null;
|
||||||
private List<GlobalVascAction> globalActions = null;
|
private List<GlobalVascAction> globalActions = null;
|
||||||
private VascDataSource vascDataSource = null;
|
private VascDataSource vascDataSource = null;
|
||||||
private Query query = null;
|
|
||||||
private List<Object> tableData = null;
|
private List<Object> tableData = null;
|
||||||
private Object selectedObject = null;
|
private Object selectedObject = null;
|
||||||
private VascRecordCreator vascRecordCreator = null;
|
private VascRecordCreator vascRecordCreator = null;
|
||||||
|
@ -84,19 +82,6 @@ public class VascTable {
|
||||||
columnActions.add(columnAction);
|
columnActions.add(columnAction);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @return the description
|
|
||||||
*/
|
|
||||||
public String getDescription() {
|
|
||||||
return description;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param description the description to set
|
|
||||||
*/
|
|
||||||
public void setDescription(String description) {
|
|
||||||
this.description = description;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the globalActions
|
* @return the globalActions
|
||||||
|
@ -140,20 +125,6 @@ public class VascTable {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @return the query
|
|
||||||
*/
|
|
||||||
public Query getQuery() {
|
|
||||||
return query;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param query the query to set
|
|
||||||
*/
|
|
||||||
public void setQuery(Query query) {
|
|
||||||
this.query = query;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the rowActions
|
* @return the rowActions
|
||||||
*/
|
*/
|
||||||
|
@ -216,19 +187,6 @@ public class VascTable {
|
||||||
this.tableData = tableData;
|
this.tableData = tableData;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @return the toolTip
|
|
||||||
*/
|
|
||||||
public String getToolTip() {
|
|
||||||
return toolTip;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param toolTip the toolTip to set
|
|
||||||
*/
|
|
||||||
public void setToolTip(String toolTip) {
|
|
||||||
this.toolTip = toolTip;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the userOptions
|
* @return the userOptions
|
||||||
|
@ -327,6 +285,32 @@ public class VascTable {
|
||||||
public void setVascTableController(VascTableController vascTableController) {
|
public void setVascTableController(VascTableController vascTableController) {
|
||||||
this.vascTableController = vascTableController;
|
this.vascTableController = vascTableController;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the headerImage
|
||||||
|
*/
|
||||||
|
public String getHeaderImage() {
|
||||||
|
return headerImage;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param headerImage the headerImage to set
|
||||||
|
*/
|
||||||
|
public void setHeaderImage(String headerImage) {
|
||||||
|
this.headerImage = headerImage;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the headerToolTip
|
||||||
|
*/
|
||||||
|
public String getHeaderToolTip() {
|
||||||
|
return headerToolTip;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param headerToolTip the headerToolTip to set
|
||||||
|
*/
|
||||||
|
public void setHeaderToolTip(String headerToolTip) {
|
||||||
|
this.headerToolTip = headerToolTip;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,7 +33,7 @@ package com.idcanet.vasc.core;
|
||||||
* @version 1.0 Mar 21, 2007
|
* @version 1.0 Mar 21, 2007
|
||||||
*/
|
*/
|
||||||
public interface VascTextValue {
|
public interface VascTextValue {
|
||||||
|
|
||||||
public String getTextValue(String text);
|
public String getTextValue(String key,Object...params);
|
||||||
|
|
||||||
}
|
}
|
|
@ -36,13 +36,15 @@ import com.idcanet.vasc.core.column.VascTableColumn;
|
||||||
*/
|
*/
|
||||||
public interface VascViewRenderer {
|
public interface VascViewRenderer {
|
||||||
|
|
||||||
public void renderView(VascTable table) throws Exception;
|
public void initTable(VascTable table) throws Exception;
|
||||||
|
|
||||||
|
public void renderView() throws Exception;
|
||||||
|
|
||||||
public void renderEdit(VascTable table,Object rowBean) throws Exception;
|
public void renderEdit(Object rowBean) throws Exception;
|
||||||
|
|
||||||
public void renderDelete(VascTable table,Object rowBean) throws Exception;
|
public void renderDelete(Object rowBean) throws Exception;
|
||||||
|
|
||||||
public void renderExport(VascTable table,VascDataExporter exporter) throws Exception;
|
public void renderExport(VascDataExporter exporter) throws Exception;
|
||||||
|
|
||||||
public Object defaultColumnEditor(VascTableColumn column,Object bean,Object gui) throws Exception;
|
public Object defaultColumnEditor(VascTableColumn column,Object bean,Object gui) throws Exception;
|
||||||
|
|
||||||
|
|
|
@ -86,6 +86,9 @@ public class DefaultVascTableController implements VascTableController {
|
||||||
if (c.getVascColumnValue()==null) {
|
if (c.getVascColumnValue()==null) {
|
||||||
c.setVascColumnValue(new BeanPropertyVascColumnValue(column.getBeanProperty()));
|
c.setVascColumnValue(new BeanPropertyVascColumnValue(column.getBeanProperty()));
|
||||||
}
|
}
|
||||||
|
if (c.getImage()==null) {
|
||||||
|
c.setImage(vap.getVascImage(table.getVascRecordCreator().getObjectClass(),column.getBeanProperty()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (c.getVascColumnEditor()==null) {
|
if (c.getVascColumnEditor()==null) {
|
||||||
c.setVascColumnEditor(new DefaultVascColumnEditor());
|
c.setVascColumnEditor(new DefaultVascColumnEditor());
|
||||||
|
@ -146,7 +149,8 @@ public class DefaultVascTableController implements VascTableController {
|
||||||
* @see com.idcanet.vasc.core.VascTableController#refreshData()
|
* @see com.idcanet.vasc.core.VascTableController#refreshData()
|
||||||
*/
|
*/
|
||||||
public void refreshData(VascTable table) throws Exception {
|
public void refreshData(VascTable table) throws Exception {
|
||||||
table.setTableData(table.getVascDataSource().executeQuery(table.getQuery()));
|
table.setTableData(table.getVascDataSource().execute());
|
||||||
|
fireVascEvent(VascEventListener.VascEventType.DATA_UPDATE, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void handleException(Exception e,VascTable table) {
|
public void handleException(Exception e,VascTable table) {
|
||||||
|
|
|
@ -35,7 +35,11 @@ import com.idcanet.vasc.core.VascTextValue;
|
||||||
*/
|
*/
|
||||||
public class DefaultVascTextValue implements VascTextValue {
|
public class DefaultVascTextValue implements VascTextValue {
|
||||||
|
|
||||||
public String getTextValue(String text) {
|
public String getKeyMapping(String key) {
|
||||||
|
return key;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTextValue(String text,Object...params) {
|
||||||
return text;
|
return text;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -38,12 +38,12 @@ import com.idcanet.vasc.core.actions.RowVascAction;
|
||||||
public class AddRowAction extends AbstractVascAction implements RowVascAction {
|
public class AddRowAction extends AbstractVascAction implements RowVascAction {
|
||||||
|
|
||||||
public AddRowAction() {
|
public AddRowAction() {
|
||||||
setName("generic.crud.add");
|
setName("vasc.action.add.name");
|
||||||
setToolTip("generic.toolTip");
|
setToolTip("vasc.action.add.tooltip");
|
||||||
setImage("/META-INF/images/silk/png/table_add.png");
|
setImage("vasc.action.add.image");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void doRowAction(VascTable table,Object rowObject) throws Exception {
|
public void doRowAction(VascTable table,Object rowObject) throws Exception {
|
||||||
table.getVascViewRenderer().renderEdit(table,table.getVascRecordCreator().newRecord(table));
|
table.getVascViewRenderer().renderEdit(table.getVascRecordCreator().newRecord(table));
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -43,18 +43,18 @@ import com.idcanet.vasc.core.column.VascTableColumn;
|
||||||
public class CSVExportGlobalAction extends AbstractVascAction implements GlobalVascAction,VascDataExporter {
|
public class CSVExportGlobalAction extends AbstractVascAction implements GlobalVascAction,VascDataExporter {
|
||||||
|
|
||||||
public CSVExportGlobalAction() {
|
public CSVExportGlobalAction() {
|
||||||
setName("generic.crud.export.csv.name");
|
setName("vasc.action.csv.name");
|
||||||
setToolTip("generic.crud.export.csv.tooltip");
|
setToolTip("vasc.action.csv.tooltip");
|
||||||
setImage("/META-INF/images/silk/png/page_white_excel.png");
|
setImage("vasc.action.csv.image");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void doGlobalAction(VascTable table) throws Exception {
|
public void doGlobalAction(VascTable table) throws Exception {
|
||||||
table.getVascViewRenderer().renderExport(table,this);
|
table.getVascViewRenderer().renderExport(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void doExport(OutputStream out,VascTable table) throws Exception {
|
public void doExport(OutputStream out,VascTable table) throws Exception {
|
||||||
PrintWriter p = new PrintWriter(out);
|
PrintWriter p = new PrintWriter(out);
|
||||||
p.write("# csv file\n");
|
p.write("# csv\n");
|
||||||
for (VascTableColumn c:table.getTableColumns()) {
|
for (VascTableColumn c:table.getTableColumns()) {
|
||||||
p.write(c.getName()+"\t");
|
p.write(c.getName()+"\t");
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,15 +38,15 @@ import com.idcanet.vasc.core.actions.RowVascAction;
|
||||||
public class DeleteRowAction extends AbstractVascAction implements RowVascAction {
|
public class DeleteRowAction extends AbstractVascAction implements RowVascAction {
|
||||||
|
|
||||||
public DeleteRowAction() {
|
public DeleteRowAction() {
|
||||||
setName("generic.crud.delete.name");
|
setName("vasc.action.del.name");
|
||||||
setToolTip("generic.crud.delete.tooltip");
|
setToolTip("vasc.action.del.tooltip");
|
||||||
setImage("/META-INF/images/silk/png/table_delete.png");
|
setImage("vasc.action.del.image");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void doRowAction(VascTable table,Object rowObject) throws Exception {
|
public void doRowAction(VascTable table,Object rowObject) throws Exception {
|
||||||
if (rowObject==null) {
|
if (rowObject==null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
table.getVascViewRenderer().renderDelete(table,rowObject);
|
table.getVascViewRenderer().renderDelete(rowObject);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -38,9 +38,9 @@ import com.idcanet.vasc.core.actions.RowVascAction;
|
||||||
public class EditRowAction extends AbstractVascAction implements RowVascAction {
|
public class EditRowAction extends AbstractVascAction implements RowVascAction {
|
||||||
|
|
||||||
public EditRowAction() {
|
public EditRowAction() {
|
||||||
setName("generic.crud.edit");
|
setName("vasc.action.edit.name");
|
||||||
setToolTip("generic.crud.edit.toolTip");
|
setToolTip("vasc.action.edit.tooltip");
|
||||||
setImage("/META-INF/images/silk/png/table_edit.png");
|
setImage("vasc.action.edit.image");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -48,6 +48,6 @@ public class EditRowAction extends AbstractVascAction implements RowVascAction {
|
||||||
if (rowObject==null) {
|
if (rowObject==null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
table.getVascViewRenderer().renderEdit(table,rowObject);
|
table.getVascViewRenderer().renderEdit(rowObject);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -38,13 +38,13 @@ import com.idcanet.vasc.core.actions.GlobalVascAction;
|
||||||
public class RefreshDataGlobalAction extends AbstractVascAction implements GlobalVascAction {
|
public class RefreshDataGlobalAction extends AbstractVascAction implements GlobalVascAction {
|
||||||
|
|
||||||
public RefreshDataGlobalAction() {
|
public RefreshDataGlobalAction() {
|
||||||
setName("generic.refresh");
|
setName("vasc.action.refresh.name");
|
||||||
setToolTip("generic.crud.refresh.tooltip");
|
setToolTip("vasc.action.refresh.tooltip");
|
||||||
setImage("/META-INF/images/silk/png/table_refresh.png");
|
setImage("vasc.action.refresh.image");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void doGlobalAction(VascTable table) throws Exception {
|
public void doGlobalAction(VascTable table) throws Exception {
|
||||||
table.getVascTableController().refreshData(table);
|
table.getVascTableController().refreshData(table); // this wil also fire the event
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -43,13 +43,13 @@ import com.idcanet.vasc.core.column.VascTableColumn;
|
||||||
public class XMLExportGlobalAction extends AbstractVascAction implements GlobalVascAction,VascDataExporter {
|
public class XMLExportGlobalAction extends AbstractVascAction implements GlobalVascAction,VascDataExporter {
|
||||||
|
|
||||||
public XMLExportGlobalAction() {
|
public XMLExportGlobalAction() {
|
||||||
setName("generic.crud.export.xml.name");
|
setName("vasc.action.xml.name");
|
||||||
setToolTip("generic.crud.export.xml.tooltip");
|
setToolTip("vasc.action.xml.tooltip");
|
||||||
setImage("/META-INF/images/silk/png/page_white_excel.png");
|
setImage("vasc.action.xml.image");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void doGlobalAction(VascTable table) throws Exception {
|
public void doGlobalAction(VascTable table) throws Exception {
|
||||||
table.getVascViewRenderer().renderExport(table,this);
|
table.getVascViewRenderer().renderExport(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void doExport(OutputStream out,VascTable table) throws Exception {
|
public void doExport(OutputStream out,VascTable table) throws Exception {
|
||||||
|
|
|
@ -32,6 +32,7 @@ import java.util.logging.Level;
|
||||||
import org.hibernate.Query;
|
import org.hibernate.Query;
|
||||||
|
|
||||||
import com.idcanet.serv5.services.hibernate3.Hibernate3Factory;
|
import com.idcanet.serv5.services.hibernate3.Hibernate3Factory;
|
||||||
|
import com.idcanet.vasc.core.AbstractVascDataSource;
|
||||||
import com.idcanet.vasc.core.VascDataSource;
|
import com.idcanet.vasc.core.VascDataSource;
|
||||||
import com.idcanet.xtes.xpql.query.QueryParameterValue;
|
import com.idcanet.xtes.xpql.query.QueryParameterValue;
|
||||||
|
|
||||||
|
@ -40,18 +41,21 @@ import com.idcanet.xtes.xpql.query.QueryParameterValue;
|
||||||
* @author Willem Cazander
|
* @author Willem Cazander
|
||||||
* @version 1.0 Mar 21, 2007
|
* @version 1.0 Mar 21, 2007
|
||||||
*/
|
*/
|
||||||
public class Serv5HibernateVascDataSource implements VascDataSource {
|
public class Serv5HibernateVascDataSource extends AbstractVascDataSource {
|
||||||
|
|
||||||
private String session = null;
|
private String session = null;
|
||||||
|
|
||||||
|
private com.idcanet.xtes.xpql.query.Query query = null;
|
||||||
|
|
||||||
public Serv5HibernateVascDataSource() {
|
public Serv5HibernateVascDataSource() {
|
||||||
|
|
||||||
}
|
}
|
||||||
public Serv5HibernateVascDataSource(String session) {
|
public Serv5HibernateVascDataSource(String session,com.idcanet.xtes.xpql.query.Query query) {
|
||||||
setSession(session);
|
setSession(session);
|
||||||
|
setQuery(query);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Object> executeQuery(com.idcanet.xtes.xpql.query.Query query) throws Exception {
|
public List<Object> execute() throws Exception {
|
||||||
try {
|
try {
|
||||||
Query q = Hibernate3Factory.getSession(getSession()).createQuery(query.toPreparedSQL(query));
|
Query q = Hibernate3Factory.getSession(getSession()).createQuery(query.toPreparedSQL(query));
|
||||||
|
|
||||||
|
@ -101,6 +105,7 @@ public class Serv5HibernateVascDataSource implements VascDataSource {
|
||||||
public String getSession() {
|
public String getSession() {
|
||||||
return session;
|
return session;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param session the session to set
|
* @param session the session to set
|
||||||
*/
|
*/
|
||||||
|
@ -108,6 +113,17 @@ public class Serv5HibernateVascDataSource implements VascDataSource {
|
||||||
this.session = session;
|
this.session = session;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the query
|
||||||
|
*/
|
||||||
|
public com.idcanet.xtes.xpql.query.Query getQuery() {
|
||||||
|
return query;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param query the query to set
|
||||||
|
*/
|
||||||
|
public void setQuery(com.idcanet.xtes.xpql.query.Query query) {
|
||||||
|
this.query = query;
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -31,6 +31,8 @@ import java.awt.Color;
|
||||||
import java.awt.Component;
|
import java.awt.Component;
|
||||||
import java.awt.Container;
|
import java.awt.Container;
|
||||||
import java.awt.Font;
|
import java.awt.Font;
|
||||||
|
import java.awt.Image;
|
||||||
|
import java.awt.Toolkit;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
|
@ -38,6 +40,7 @@ import java.io.OutputStream;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import javax.swing.BorderFactory;
|
||||||
import javax.swing.ImageIcon;
|
import javax.swing.ImageIcon;
|
||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
import javax.swing.JComponent;
|
import javax.swing.JComponent;
|
||||||
|
@ -89,6 +92,21 @@ public class SwingVascViewRenderer implements VascViewRenderer {
|
||||||
this.parent=parent;
|
this.parent=parent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void initTable(VascTable table) throws Exception {
|
||||||
|
if (table.getVascViewRenderer()==null) {
|
||||||
|
table.setVascViewRenderer(this);
|
||||||
|
} else {
|
||||||
|
if (table.getVascViewRenderer()!=this) {
|
||||||
|
throw new IllegalArgumentException("VascTable has already a differtent VascViewRenderer attected");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
table.getVascTableController().finalizeVascColumns(table);
|
||||||
|
table.getVascTableController().finalizeVascTable(table);
|
||||||
|
table.getVascTableController().refreshData(table);
|
||||||
|
this.table=table;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see com.idcanet.vasc.core.VascViewRenderer#defaultColumnEditor(com.idcanet.vasc.core.column.VascTableColumn, java.lang.Object, java.lang.Object)
|
* @see com.idcanet.vasc.core.VascViewRenderer#defaultColumnEditor(com.idcanet.vasc.core.column.VascTableColumn, java.lang.Object, java.lang.Object)
|
||||||
*/
|
*/
|
||||||
|
@ -101,7 +119,10 @@ public class SwingVascViewRenderer implements VascViewRenderer {
|
||||||
}
|
}
|
||||||
|
|
||||||
public ImageIcon getImageIcon(String imageResource) {
|
public ImageIcon getImageIcon(String imageResource) {
|
||||||
return SwingImageHelper.getImageIcon(imageResource);
|
/// TODO hack beter
|
||||||
|
String key = table.getVascTextValue().getTextValue(imageResource);
|
||||||
|
|
||||||
|
return SwingImageHelper.getImageIcon(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
class TextListener implements DocumentListener {
|
class TextListener implements DocumentListener {
|
||||||
|
@ -114,21 +135,21 @@ public class SwingVascViewRenderer implements VascViewRenderer {
|
||||||
this.bean=bean;
|
this.bean=bean;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/**
|
||||||
* @see javax.swing.event.DocumentListener#changedUpdate(javax.swing.event.DocumentEvent)
|
* @see javax.swing.event.DocumentListener#changedUpdate(javax.swing.event.DocumentEvent)
|
||||||
*/
|
*/
|
||||||
public void changedUpdate(DocumentEvent e) {
|
public void changedUpdate(DocumentEvent e) {
|
||||||
update(e);
|
update(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/**
|
||||||
* @see javax.swing.event.DocumentListener#insertUpdate(javax.swing.event.DocumentEvent)
|
* @see javax.swing.event.DocumentListener#insertUpdate(javax.swing.event.DocumentEvent)
|
||||||
*/
|
*/
|
||||||
public void insertUpdate(DocumentEvent e) {
|
public void insertUpdate(DocumentEvent e) {
|
||||||
update(e);
|
update(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/**
|
||||||
* @see javax.swing.event.DocumentListener#removeUpdate(javax.swing.event.DocumentEvent)
|
* @see javax.swing.event.DocumentListener#removeUpdate(javax.swing.event.DocumentEvent)
|
||||||
*/
|
*/
|
||||||
public void removeUpdate(DocumentEvent e) {
|
public void removeUpdate(DocumentEvent e) {
|
||||||
|
@ -161,26 +182,24 @@ public class SwingVascViewRenderer implements VascViewRenderer {
|
||||||
/**
|
/**
|
||||||
* @see com.idcanet.vasc.core.VascViewRenderer#renderEdit(com.idcanet.vasc.core.VascTable, java.lang.Object)
|
* @see com.idcanet.vasc.core.VascViewRenderer#renderEdit(com.idcanet.vasc.core.VascTable, java.lang.Object)
|
||||||
*/
|
*/
|
||||||
public void renderEdit(VascTable table, Object rowBean) throws Exception {
|
public void renderEdit(Object rowBean) throws Exception {
|
||||||
logger.info("Rending Edit View");
|
logger.info("Rending Edit View");
|
||||||
table.getVascTableController().initEditObject(table, rowBean);
|
table.getVascTableController().initEditObject(table, rowBean);
|
||||||
|
|
||||||
SwingEditDialog dialog = new SwingEditDialog(parent,table,rowBean,"Vasc Edit","Edit");
|
SwingEditDialog dialog = new SwingEditDialog(parent,table,rowBean,"Vasc Edit","Edit");
|
||||||
Object result = dialog.openDialog();
|
Object result = dialog.openDialog();
|
||||||
System.out.println("---------------- OPEN closed : "+result);
|
logger.finest("OPEN closed : "+result);
|
||||||
if(result==null) {
|
if(result==null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
result = table.getVascDataSource().merge(rowBean);
|
result = table.getVascDataSource().merge(rowBean);
|
||||||
table.getVascTableController().fireVascEvent(VascEventListener.VascEventType.DATA_UPDATE, result);
|
|
||||||
} finally {
|
} finally {
|
||||||
//TODO: or merge into table == faster
|
|
||||||
table.getVascTableController().refreshData(table);
|
table.getVascTableController().refreshData(table);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void renderDelete(VascTable table,Object rowBean) throws Exception {
|
public void renderDelete(Object rowBean) throws Exception {
|
||||||
int response = JOptionPane.showOptionDialog(
|
int response = JOptionPane.showOptionDialog(
|
||||||
parent // Center in window.
|
parent // Center in window.
|
||||||
, "Delete "+rowBean // Message
|
, "Delete "+rowBean // Message
|
||||||
|
@ -212,7 +231,7 @@ public class SwingVascViewRenderer implements VascViewRenderer {
|
||||||
this.bean = bean;
|
this.bean = bean;
|
||||||
|
|
||||||
|
|
||||||
setTitle(title);
|
setTitle(table.getVascTextValue().getTextValue(title));
|
||||||
setModal(true);
|
setModal(true);
|
||||||
|
|
||||||
JPanel pane = new JPanel();
|
JPanel pane = new JPanel();
|
||||||
|
@ -252,8 +271,9 @@ public class SwingVascViewRenderer implements VascViewRenderer {
|
||||||
|
|
||||||
public void createHeader(JPanel header) {
|
public void createHeader(JPanel header) {
|
||||||
JLabel l = new JLabel();
|
JLabel l = new JLabel();
|
||||||
l.setText(headerText);
|
l.setText(table.getVascTextValue().getTextValue(headerText));
|
||||||
l.setFont(new Font(null,Font.BOLD, 14));
|
l.setFont(new Font(null,Font.BOLD, 14));
|
||||||
|
//l.setToolTipText(table.getVascTextValue().getTextValue(headerText));
|
||||||
header.add(l);
|
header.add(l);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -291,8 +311,9 @@ public class SwingVascViewRenderer implements VascViewRenderer {
|
||||||
public void createFooter(JPanel footer) {
|
public void createFooter(JPanel footer) {
|
||||||
|
|
||||||
JButton saveButton = new JButton();
|
JButton saveButton = new JButton();
|
||||||
saveButton.setIcon(getImageIcon("/META-INF/images/silk/png/tick.png"));
|
saveButton.setIcon(getImageIcon("vasc.dialog.save.image"));
|
||||||
saveButton.setText("generic.save");
|
saveButton.setText(table.getVascTextValue().getTextValue("vasc.dialog.save.name"));
|
||||||
|
saveButton.setToolTipText(table.getVascTextValue().getTextValue("vasc.dialog.save.tooltip"));
|
||||||
saveButton.addActionListener(new ActionListener() {
|
saveButton.addActionListener(new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent event) {
|
public void actionPerformed(ActionEvent event) {
|
||||||
//if(hasRecordError()) {
|
//if(hasRecordError()) {
|
||||||
|
@ -305,8 +326,9 @@ public class SwingVascViewRenderer implements VascViewRenderer {
|
||||||
footer.add(saveButton);
|
footer.add(saveButton);
|
||||||
|
|
||||||
JButton cancelButton = new JButton();
|
JButton cancelButton = new JButton();
|
||||||
cancelButton.setIcon(getImageIcon("/META-INF/images/silk/png/cancel.png"));
|
cancelButton.setIcon(getImageIcon("vasc.dialog.cancel.image"));
|
||||||
cancelButton.setText("generic.cancel");
|
cancelButton.setText(table.getVascTextValue().getTextValue("vasc.dialog.cancel.name"));
|
||||||
|
cancelButton.setToolTipText(table.getVascTextValue().getTextValue("vasc.dialog.cancel.tooltip"));
|
||||||
cancelButton.addActionListener(new ActionListener() {
|
cancelButton.addActionListener(new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent event) {
|
public void actionPerformed(ActionEvent event) {
|
||||||
result = null;
|
result = null;
|
||||||
|
@ -323,7 +345,7 @@ public class SwingVascViewRenderer implements VascViewRenderer {
|
||||||
/**
|
/**
|
||||||
* @see com.idcanet.vasc.core.VascViewRenderer#renderExport(com.idcanet.vasc.core.VascTable, com.idcanet.vasc.core.VascDataExporter)
|
* @see com.idcanet.vasc.core.VascViewRenderer#renderExport(com.idcanet.vasc.core.VascTable, com.idcanet.vasc.core.VascDataExporter)
|
||||||
*/
|
*/
|
||||||
public void renderExport(VascTable table, VascDataExporter exporter) throws Exception {
|
public void renderExport(VascDataExporter exporter) throws Exception {
|
||||||
|
|
||||||
String fileName = null;
|
String fileName = null;
|
||||||
JFileChooser c = new JFileChooser();
|
JFileChooser c = new JFileChooser();
|
||||||
|
@ -359,20 +381,8 @@ public class SwingVascViewRenderer implements VascViewRenderer {
|
||||||
/**
|
/**
|
||||||
* @see com.idcanet.vasc.core.VascViewRenderer#renderView(com.idcanet.vasc.core.VascTable)
|
* @see com.idcanet.vasc.core.VascViewRenderer#renderView(com.idcanet.vasc.core.VascTable)
|
||||||
*/
|
*/
|
||||||
public void renderView(VascTable table) throws Exception {
|
public void renderView() throws Exception {
|
||||||
|
|
||||||
if (table.getVascViewRenderer()==null) {
|
|
||||||
table.setVascViewRenderer(this);
|
|
||||||
} else {
|
|
||||||
if (table.getVascViewRenderer()!=this) {
|
|
||||||
throw new IllegalArgumentException("VascTable has already a differtent VascViewRenderer attected");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
table.getVascTableController().finalizeVascColumns(table);
|
|
||||||
table.getVascTableController().finalizeVascTable(table);
|
|
||||||
table.getVascTableController().refreshData(table);
|
|
||||||
this.table=table;
|
|
||||||
|
|
||||||
JPanel topPanel = new JPanel();
|
JPanel topPanel = new JPanel();
|
||||||
topPanel.setLayout(new BorderLayout());
|
topPanel.setLayout(new BorderLayout());
|
||||||
//topPanel.setBackground(Color.PINK);
|
//topPanel.setBackground(Color.PINK);
|
||||||
|
@ -397,27 +407,52 @@ public class SwingVascViewRenderer implements VascViewRenderer {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void renderHeader(JComponent parent2) {
|
private void renderHeader(JComponent parent2) {
|
||||||
|
|
||||||
|
JPanel header = new JPanel();
|
||||||
|
header.setLayout(new BorderLayout());
|
||||||
|
header.setBackground(Color.WHITE);
|
||||||
|
header.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
|
||||||
|
|
||||||
|
if(table.getHeaderImage()!=null) {
|
||||||
|
JLabel l = new JLabel();
|
||||||
|
|
||||||
|
// TODO: hack images working
|
||||||
|
l.setIcon(new ImageIcon(Toolkit.getDefaultToolkit().createImage(getClass().getResource(table.getHeaderImage())).getScaledInstance(32, 32, Image.SCALE_SMOOTH)));
|
||||||
|
l.setToolTipText(table.getVascTextValue().getTextValue(table.getHeaderToolTip()));
|
||||||
|
header.add(l,BorderLayout.WEST);
|
||||||
|
}
|
||||||
|
|
||||||
if(table.getHeaderName()!=null) {
|
if(table.getHeaderName()!=null) {
|
||||||
JLabel l = new JLabel(table.getVascTextValue().getTextValue(table.getHeaderName()));
|
JLabel l = new JLabel(table.getVascTextValue().getTextValue(table.getHeaderName()));
|
||||||
l.setFont(new Font(null,Font.BOLD, 14));
|
l.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
|
||||||
parent2.add(l);
|
l.setFont(new Font(null,Font.BOLD, 18));
|
||||||
|
l.setToolTipText(table.getVascTextValue().getTextValue(table.getHeaderToolTip()));
|
||||||
|
header.add(l,BorderLayout.CENTER);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
JPanel top = new JPanel();
|
||||||
|
//top.setBackground(Color.BLUE);
|
||||||
for (GlobalVascAction action:table.getGlobalActions()) {
|
for (GlobalVascAction action:table.getGlobalActions()) {
|
||||||
JButton but = new JButton();
|
JButton but = new JButton();
|
||||||
but.setText(table.getVascTextValue().getTextValue(action.getName()));
|
but.setText(table.getVascTextValue().getTextValue(action.getName()));
|
||||||
but.setToolTipText(table.getVascTextValue().getTextValue(action.getToolTip()));
|
but.setToolTipText(table.getVascTextValue().getTextValue(action.getToolTip()));
|
||||||
but.addActionListener(new GlobalActionListener(action));
|
but.addActionListener(new GlobalActionListener(action));
|
||||||
but.setIcon(getImageIcon(action.getImage()));
|
but.setIcon(getImageIcon(action.getImage()));
|
||||||
parent2.add(but);
|
top.add(but);
|
||||||
}
|
}
|
||||||
|
|
||||||
// create options
|
// create options
|
||||||
|
JPanel optionPanel = new JPanel();
|
||||||
|
//top.setBackground(Color.GREEN);
|
||||||
for(VascUserOption option:table.getUserOptions()) {
|
for(VascUserOption option:table.getUserOptions()) {
|
||||||
|
Object obj = option.createUserOptionRenderer(table);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//top.add(header,BorderLayout.NORTH);
|
||||||
|
parent2.setLayout(new BorderLayout());
|
||||||
|
parent2.add(header,BorderLayout.NORTH);
|
||||||
|
parent2.add(optionPanel,BorderLayout.CENTER);
|
||||||
|
parent2.add(top,BorderLayout.EAST);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void renderBody(JComponent parent2) {
|
private void renderBody(JComponent parent2) {
|
||||||
|
@ -487,6 +522,7 @@ public class SwingVascViewRenderer implements VascViewRenderer {
|
||||||
setFont(header.getFont());
|
setFont(header.getFont());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//setBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4));
|
||||||
setBorder(UIManager.getBorder("TableHeader.cellBorder"));
|
setBorder(UIManager.getBorder("TableHeader.cellBorder"));
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -495,14 +531,17 @@ public class SwingVascViewRenderer implements VascViewRenderer {
|
||||||
|
|
||||||
private void renderFooter(JComponent parent2) {
|
private void renderFooter(JComponent parent2) {
|
||||||
logger.finest("Creating footer");
|
logger.finest("Creating footer");
|
||||||
|
JPanel panel = new JPanel();
|
||||||
for(RowVascAction action:table.getRowActions()) {
|
for(RowVascAction action:table.getRowActions()) {
|
||||||
JButton but = new JButton();
|
JButton but = new JButton();
|
||||||
but.setText(table.getVascTextValue().getTextValue(action.getName()));
|
but.setText(table.getVascTextValue().getTextValue(action.getName()));
|
||||||
but.setToolTipText(table.getVascTextValue().getTextValue(action.getToolTip()));
|
but.setToolTipText(table.getVascTextValue().getTextValue(action.getToolTip()));
|
||||||
but.setIcon(getImageIcon(action.getImage()));
|
but.setIcon(getImageIcon(action.getImage()));
|
||||||
but.addActionListener(new RowActionListener(action));
|
but.addActionListener(new RowActionListener(action));
|
||||||
parent2.add(but);
|
panel.add(but);
|
||||||
}
|
}
|
||||||
|
parent2.setLayout(new BorderLayout());
|
||||||
|
parent2.add(panel,BorderLayout.WEST);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -572,7 +611,7 @@ public class SwingVascViewRenderer implements VascViewRenderer {
|
||||||
*/
|
*/
|
||||||
public Object getValueAt(int rowIndex, int columnIndex) {
|
public Object getValueAt(int rowIndex, int columnIndex) {
|
||||||
Object bean = table.getTableData().get(rowIndex);
|
Object bean = table.getTableData().get(rowIndex);
|
||||||
System.out.println("Rending column; "+columnIndex+" bean: "+bean);
|
logger.finer("Rending column; "+columnIndex+" bean: "+bean);
|
||||||
VascTableColumn vtc = table.getTableColumns().get(columnIndex);
|
VascTableColumn vtc = table.getTableColumns().get(columnIndex);
|
||||||
if (vtc.getColumnRenderer()!=null) {
|
if (vtc.getColumnRenderer()!=null) {
|
||||||
//do iets
|
//do iets
|
||||||
|
|
|
@ -90,6 +90,20 @@ public class SwtVascViewRenderer implements VascViewRenderer {
|
||||||
this.parent=parent;
|
this.parent=parent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void initTable(VascTable table) throws Exception {
|
||||||
|
if (table.getVascViewRenderer()==null) {
|
||||||
|
table.setVascViewRenderer(this);
|
||||||
|
} else {
|
||||||
|
if (table.getVascViewRenderer()!=this) {
|
||||||
|
throw new IllegalArgumentException("VascTable has already a differtent VascViewRenderer attected");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
table.getVascTableController().finalizeVascColumns(table);
|
||||||
|
table.getVascTableController().finalizeVascTable(table);
|
||||||
|
table.getVascTableController().refreshData(table);
|
||||||
|
this.table=table;
|
||||||
|
}
|
||||||
|
|
||||||
private static final String[] FILTER_NAMES = {
|
private static final String[] FILTER_NAMES = {
|
||||||
"All Files (*.*)",
|
"All Files (*.*)",
|
||||||
"Comma Separated Values Files (*.csv)",
|
"Comma Separated Values Files (*.csv)",
|
||||||
|
@ -98,7 +112,7 @@ public class SwtVascViewRenderer implements VascViewRenderer {
|
||||||
/** These filter extensions are used to filter which files are displayed. */
|
/** These filter extensions are used to filter which files are displayed. */
|
||||||
private static final String[] FILTER_EXTS = { "*.*","*.csv","*.xls" };
|
private static final String[] FILTER_EXTS = { "*.*","*.csv","*.xls" };
|
||||||
|
|
||||||
public void renderExport(VascTable table,VascDataExporter exporter) throws Exception {
|
public void renderExport(VascDataExporter exporter) throws Exception {
|
||||||
FileDialog dlg = new FileDialog(Display.getCurrent().getActiveShell(), SWT.SAVE);
|
FileDialog dlg = new FileDialog(Display.getCurrent().getActiveShell(), SWT.SAVE);
|
||||||
dlg.setFilterNames(FILTER_NAMES);
|
dlg.setFilterNames(FILTER_NAMES);
|
||||||
dlg.setFilterExtensions(FILTER_EXTS);
|
dlg.setFilterExtensions(FILTER_EXTS);
|
||||||
|
@ -121,7 +135,7 @@ public class SwtVascViewRenderer implements VascViewRenderer {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void renderEdit(VascTable table,Object object) throws Exception {
|
public void renderEdit(Object object) throws Exception {
|
||||||
|
|
||||||
logger.info("Rending Edit View");
|
logger.info("Rending Edit View");
|
||||||
table.getVascTableController().initEditObject(table, object);
|
table.getVascTableController().initEditObject(table, object);
|
||||||
|
@ -142,6 +156,9 @@ public class SwtVascViewRenderer implements VascViewRenderer {
|
||||||
|
|
||||||
public ImageDescriptor getImageDescriptor(String path) {
|
public ImageDescriptor getImageDescriptor(String path) {
|
||||||
try {
|
try {
|
||||||
|
path = table.getVascTextValue().getTextValue(path);
|
||||||
|
|
||||||
|
|
||||||
logger.info("Loading image: "+path);
|
logger.info("Loading image: "+path);
|
||||||
//System.out.println("==== 1");
|
//System.out.println("==== 1");
|
||||||
ImageDescriptor result = ImageDescriptor.createFromFile(path.getClass(), path);
|
ImageDescriptor result = ImageDescriptor.createFromFile(path.getClass(), path);
|
||||||
|
@ -172,7 +189,7 @@ public class SwtVascViewRenderer implements VascViewRenderer {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void renderDelete(VascTable table,Object rowBean) throws Exception {
|
public void renderDelete(Object rowBean) throws Exception {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -282,8 +299,9 @@ public class SwtVascViewRenderer implements VascViewRenderer {
|
||||||
new Label(body, SWT.WRAP);
|
new Label(body, SWT.WRAP);
|
||||||
|
|
||||||
Button saveButton = new Button(body, SWT.NONE);
|
Button saveButton = new Button(body, SWT.NONE);
|
||||||
saveButton.setImage(getImageDescriptor("/META-INF/images/silk/png/tick.png").createImage());
|
saveButton.setImage(getImageDescriptor("vasc.dialog.save.image").createImage());
|
||||||
saveButton.setText("generic.save");
|
saveButton.setText(table.getVascTextValue().getTextValue("vasc.dialog.save.name"));
|
||||||
|
saveButton.setToolTipText(table.getVascTextValue().getTextValue("vasc.dialog.save.tooltip"));
|
||||||
saveButton.addSelectionListener(new SelectionAdapter() {
|
saveButton.addSelectionListener(new SelectionAdapter() {
|
||||||
public void widgetSelected(SelectionEvent e) {
|
public void widgetSelected(SelectionEvent e) {
|
||||||
//if(hasRecordError()) {
|
//if(hasRecordError()) {
|
||||||
|
@ -294,8 +312,9 @@ public class SwtVascViewRenderer implements VascViewRenderer {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
Button cancelButton = new Button(body, SWT.NONE);
|
Button cancelButton = new Button(body, SWT.NONE);
|
||||||
cancelButton.setImage(getImageDescriptor("/META-INF/images/silk/png/cancel.png").createImage());
|
cancelButton.setImage(getImageDescriptor("vasc.dialog.cancel.image").createImage());
|
||||||
cancelButton.setText("generic.cancel");
|
cancelButton.setText(table.getVascTextValue().getTextValue("vasc.dialog.cancel.name"));
|
||||||
|
cancelButton.setToolTipText(table.getVascTextValue().getTextValue("vasc.dialog.cancel.tooltip"));
|
||||||
cancelButton.addSelectionListener(new SelectionAdapter() {
|
cancelButton.addSelectionListener(new SelectionAdapter() {
|
||||||
public void widgetSelected(SelectionEvent e) {
|
public void widgetSelected(SelectionEvent e) {
|
||||||
result = null;
|
result = null;
|
||||||
|
@ -345,21 +364,7 @@ public class SwtVascViewRenderer implements VascViewRenderer {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void renderView(VascTable table) throws Exception {
|
public void renderView() throws Exception {
|
||||||
|
|
||||||
if (table.getVascViewRenderer()==null) {
|
|
||||||
table.setVascViewRenderer(this);
|
|
||||||
} else {
|
|
||||||
if (table.getVascViewRenderer()!=this) {
|
|
||||||
throw new IllegalArgumentException("VascTable has already a differtent VascViewRenderer attected");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
table.getVascTableController().finalizeVascColumns(table);
|
|
||||||
table.getVascTableController().finalizeVascTable(table);
|
|
||||||
table.getVascTableController().refreshData(table);
|
|
||||||
|
|
||||||
this.table=table;
|
|
||||||
GridLayout layout = new GridLayout();
|
GridLayout layout = new GridLayout();
|
||||||
layout.marginHeight = 0;
|
layout.marginHeight = 0;
|
||||||
layout.marginWidth = 0;
|
layout.marginWidth = 0;
|
||||||
|
@ -424,8 +429,8 @@ public class SwtVascViewRenderer implements VascViewRenderer {
|
||||||
ToolBar toolBar = new ToolBar(headerBar, SWT.NONE);
|
ToolBar toolBar = new ToolBar(headerBar, SWT.NONE);
|
||||||
for (GlobalVascAction action:table.getGlobalActions()) {
|
for (GlobalVascAction action:table.getGlobalActions()) {
|
||||||
ToolItem item = new ToolItem(toolBar, SWT.PUSH);
|
ToolItem item = new ToolItem(toolBar, SWT.PUSH);
|
||||||
item.setText(action.getName());
|
item.setText(table.getVascTextValue().getTextValue(action.getName()));
|
||||||
item.setToolTipText(action.getToolTip());
|
item.setToolTipText(table.getVascTextValue().getTextValue(action.getToolTip()));
|
||||||
if (action.getImage()!=null) {
|
if (action.getImage()!=null) {
|
||||||
item.setImage(getImageDescriptor(action.getImage()).createImage());
|
item.setImage(getImageDescriptor(action.getImage()).createImage());
|
||||||
}
|
}
|
||||||
|
@ -438,6 +443,7 @@ public class SwtVascViewRenderer implements VascViewRenderer {
|
||||||
if(table.getHeaderName()!=null) {
|
if(table.getHeaderName()!=null) {
|
||||||
Font headerFont = new Font(header.getDisplay(), "verdana", 16, SWT.BOLD);
|
Font headerFont = new Font(header.getDisplay(), "verdana", 16, SWT.BOLD);
|
||||||
Label l = new Label(headerName, SWT.CENTER);
|
Label l = new Label(headerName, SWT.CENTER);
|
||||||
|
l.setImage(getImageDescriptor(table.getHeaderImage()).createImage());
|
||||||
l.setFont(headerFont);
|
l.setFont(headerFont);
|
||||||
l.setText(table.getVascTextValue().getTextValue(table.getHeaderName()));
|
l.setText(table.getVascTextValue().getTextValue(table.getHeaderName()));
|
||||||
l.setBackground(c);
|
l.setBackground(c);
|
||||||
|
@ -596,8 +602,8 @@ public class SwtVascViewRenderer implements VascViewRenderer {
|
||||||
logger.finest("Creating footer");
|
logger.finest("Creating footer");
|
||||||
for(RowVascAction action:table.getRowActions()) {
|
for(RowVascAction action:table.getRowActions()) {
|
||||||
Button actionButton = new Button(footer, SWT.NONE);
|
Button actionButton = new Button(footer, SWT.NONE);
|
||||||
actionButton.setText(action.getName());
|
actionButton.setText(table.getVascTextValue().getTextValue(action.getName()));
|
||||||
actionButton.setToolTipText(action.getToolTip());
|
actionButton.setToolTipText(table.getVascTextValue().getTextValue(action.getToolTip()));
|
||||||
if (action.getImage()!=null) {
|
if (action.getImage()!=null) {
|
||||||
actionButton.setImage(getImageDescriptor(action.getImage()).createImage());
|
actionButton.setImage(getImageDescriptor(action.getImage()).createImage());
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,7 +65,8 @@ public class SWTTest extends TestCase {
|
||||||
|
|
||||||
// define redering and render
|
// define redering and render
|
||||||
SwtVascViewRenderer render = new SwtVascViewRenderer(shell);
|
SwtVascViewRenderer render = new SwtVascViewRenderer(shell);
|
||||||
render.renderView(TestTable.getVascTable());
|
render.initTable(TestTable.getVascTable());
|
||||||
|
render.renderView();
|
||||||
|
|
||||||
// view
|
// view
|
||||||
shell.open();
|
shell.open();
|
||||||
|
|
|
@ -32,6 +32,7 @@ import java.util.logging.LogManager;
|
||||||
import javax.swing.JFrame;
|
import javax.swing.JFrame;
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
|
|
||||||
|
import com.idcanet.vasc.core.VascTable;
|
||||||
import com.idcanet.vasc.impl.swing.SwingVascViewRenderer;
|
import com.idcanet.vasc.impl.swing.SwingVascViewRenderer;
|
||||||
|
|
||||||
import junit.framework.TestCase;
|
import junit.framework.TestCase;
|
||||||
|
@ -63,13 +64,19 @@ public class SwingTest extends TestCase {
|
||||||
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||||
frame.setLocationRelativeTo(null);
|
frame.setLocationRelativeTo(null);
|
||||||
|
|
||||||
|
// get table
|
||||||
|
VascTable table = TestTable.getVascTable();
|
||||||
|
|
||||||
// define redering
|
// define redering
|
||||||
JPanel panel = new JPanel();
|
JPanel panel = new JPanel();
|
||||||
SwingVascViewRenderer render = new SwingVascViewRenderer(panel);
|
SwingVascViewRenderer render = new SwingVascViewRenderer(panel);
|
||||||
frame.add(panel);
|
frame.add(panel);
|
||||||
|
|
||||||
// render
|
// render
|
||||||
render.renderView(TestTable.getVascTable());
|
render.initTable(table);
|
||||||
|
|
||||||
|
//render.renderEdit(table.getTableData().get(0));
|
||||||
|
render.renderView();
|
||||||
|
|
||||||
// view
|
// view
|
||||||
frame.pack();
|
frame.pack();
|
||||||
|
|
|
@ -30,7 +30,7 @@ import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.idcanet.vasc.core.VascDataSource;
|
import com.idcanet.vasc.core.AbstractVascDataSource;
|
||||||
import com.idcanet.vasc.models.TestModel;
|
import com.idcanet.vasc.models.TestModel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -38,7 +38,7 @@ import com.idcanet.vasc.models.TestModel;
|
||||||
* @author Willem Cazander
|
* @author Willem Cazander
|
||||||
* @version 1.0 Mar 21, 2007
|
* @version 1.0 Mar 21, 2007
|
||||||
*/
|
*/
|
||||||
public class TestModelVascDataSource implements VascDataSource {
|
public class TestModelVascDataSource extends AbstractVascDataSource {
|
||||||
|
|
||||||
private List<Object> testModels = null;
|
private List<Object> testModels = null;
|
||||||
|
|
||||||
|
@ -63,22 +63,22 @@ public class TestModelVascDataSource implements VascDataSource {
|
||||||
this.testModels=testModels;
|
this.testModels=testModels;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Object> executeQuery(com.idcanet.xtes.xpql.query.Query query) throws Exception {
|
public List<Object> execute() throws Exception {
|
||||||
return testModels;
|
return testModels;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void persist(Object object) throws Exception {
|
public void persist(Object object) throws Exception {
|
||||||
testModels.add(object);
|
testModels.add(object);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Object merge(Object object) throws Exception {
|
public Object merge(Object object) throws Exception {
|
||||||
if(testModels.contains(object)==false) {
|
if(testModels.contains(object)==false) {
|
||||||
testModels.add(object);
|
testModels.add(object);
|
||||||
}
|
}
|
||||||
return object;
|
return object;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void delete(Object object) throws Exception {
|
public void delete(Object object) throws Exception {
|
||||||
testModels.remove(object);
|
testModels.remove(object);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
|
@ -57,22 +57,25 @@ public class TestTable {
|
||||||
static public VascTable getVascTable() throws Exception {
|
static public VascTable getVascTable() throws Exception {
|
||||||
|
|
||||||
// define query
|
// define query
|
||||||
|
/*
|
||||||
XTESParser parser = new XTESParser();
|
XTESParser parser = new XTESParser();
|
||||||
parser.parseResource("/META-INF/xtes/tests.xml");
|
parser.parseResource("/resources/xtes/tests.xml");
|
||||||
TemplateStore store = XTESParser.getTemplateStore(parser.getElementContext());
|
TemplateStore store = XTESParser.getTemplateStore(parser.getElementContext());
|
||||||
Query query = store.getQuery("testUsers2");
|
Query query = store.getQuery("testUsers2");
|
||||||
|
*/
|
||||||
|
|
||||||
// config table
|
// config table
|
||||||
VascTable table = new VascTable();
|
VascTable table = new VascTable();
|
||||||
table.setName("Testje");
|
table.setName("Testje");
|
||||||
table.setHeaderName("TableHeader");
|
table.setHeaderName("Test Table enzo");
|
||||||
table.setToolTip("tooltip text");
|
table.setHeaderToolTip("Met een hele coole tooltip");
|
||||||
table.setDescription("en de omscheiving");
|
table.setHeaderImage("/resources/images/gabelfresser.gif");
|
||||||
table.setHelpId("someKey");
|
table.setHelpId("someKey");
|
||||||
table.setVascTableController(new DefaultVascTableController());
|
table.setVascTableController(new DefaultVascTableController());
|
||||||
table.setVascDataSource(new TestModelVascDataSource());
|
table.setVascDataSource(new TestModelVascDataSource());
|
||||||
table.setVascTextValue(new DefaultVascTextValue());
|
|
||||||
table.setQuery(query);
|
//table.setVascTextValue(new DefaultVascTextValue());
|
||||||
|
table.setVascTextValue(new VascI18nTextValue());
|
||||||
table.setVascRecordCreator(new BeanVascRecordCreator(TestModel.class));
|
table.setVascRecordCreator(new BeanVascRecordCreator(TestModel.class));
|
||||||
table.addRowActions(new AddRowAction());
|
table.addRowActions(new AddRowAction());
|
||||||
table.addRowActions(new EditRowAction());
|
table.addRowActions(new EditRowAction());
|
||||||
|
|
66
tests/com/idcanet/vasc/VascI18nTextValue.java
Normal file
66
tests/com/idcanet/vasc/VascI18nTextValue.java
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2004-2007 IDCA. All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||||
|
* following conditions are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice, this list of conditions and
|
||||||
|
* the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions
|
||||||
|
* and the following disclaimer in the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY IDCA AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||||
|
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL IDCA OR
|
||||||
|
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||||
|
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
* The views and conclusions contained in the software and documentation are those of the authors and
|
||||||
|
* should not be interpreted as representing official policies, either expressed or implied, of IDCA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.idcanet.vasc;
|
||||||
|
|
||||||
|
import java.text.MessageFormat;
|
||||||
|
import java.util.MissingResourceException;
|
||||||
|
import java.util.ResourceBundle;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import com.idcanet.vasc.core.VascTextValue;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Willem Cazander
|
||||||
|
* @version 1.0 Aug 2, 2007
|
||||||
|
*/
|
||||||
|
public class VascI18nTextValue implements VascTextValue {
|
||||||
|
|
||||||
|
|
||||||
|
private String getKeyMapping(String key) {
|
||||||
|
return key;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTextValue(String key,Object...params) {
|
||||||
|
return i18n(getKeyMapping(key),params);
|
||||||
|
}
|
||||||
|
|
||||||
|
static private String i18n(String key,Object...params) {
|
||||||
|
if (key==null) { throw new NullPointerException("key may not be null"); }
|
||||||
|
try {
|
||||||
|
String text = ResourceBundle.getBundle("resources.i18n.vasc").getString(key);
|
||||||
|
if (params != null) {
|
||||||
|
MessageFormat mf = new MessageFormat(text);
|
||||||
|
text = mf.format(params, new StringBuffer(), null).toString();
|
||||||
|
}
|
||||||
|
return text;
|
||||||
|
} catch(MissingResourceException e){
|
||||||
|
Logger.getAnonymousLogger().finer("Missing i18n or non i18n key: "+key);
|
||||||
|
return key;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -35,6 +35,7 @@ import org.hibernate.validator.Max;
|
||||||
import com.idcanet.vasc.annotations.VascColumnWidth;
|
import com.idcanet.vasc.annotations.VascColumnWidth;
|
||||||
import com.idcanet.vasc.annotations.VascDefaultValue;
|
import com.idcanet.vasc.annotations.VascDefaultValue;
|
||||||
import com.idcanet.vasc.annotations.VascHelpId;
|
import com.idcanet.vasc.annotations.VascHelpId;
|
||||||
|
import com.idcanet.vasc.annotations.VascImage;
|
||||||
import com.idcanet.vasc.annotations.VascName;
|
import com.idcanet.vasc.annotations.VascName;
|
||||||
import com.idcanet.vasc.annotations.VascToolTip;
|
import com.idcanet.vasc.annotations.VascToolTip;
|
||||||
|
|
||||||
|
@ -74,6 +75,7 @@ public class TestModel {
|
||||||
@VascHelpId(helpId="help.id")
|
@VascHelpId(helpId="help.id")
|
||||||
@VascDefaultValue(defaultValue="xxxxx")
|
@VascDefaultValue(defaultValue="xxxxx")
|
||||||
@VascColumnWidth(width=200)
|
@VascColumnWidth(width=200)
|
||||||
|
@VascImage(image="/resources/images/gabelfresser.gif")
|
||||||
@NotNull
|
@NotNull
|
||||||
@Max(value=10)
|
@Max(value=10)
|
||||||
public String getDescription() {
|
public String getDescription() {
|
||||||
|
|
41
tests/resources/i18n/vasc.properties
Normal file
41
tests/resources/i18n/vasc.properties
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
|
||||||
|
test = Dit is een test
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
vasc.dialog.save.name = Opslaan
|
||||||
|
vasc.dialog.save.tooltip = Het opslaan van de waardes.
|
||||||
|
vasc.dialog.save.image = /META-INF/images/silk/png/tick.png
|
||||||
|
|
||||||
|
vasc.dialog.cancel.name = Annuleren
|
||||||
|
vasc.dialog.cancel.tooltip = Niet opslaan van de waardes.
|
||||||
|
vasc.dialog.cancel.image = /META-INF/images/silk/png/cancel.png
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
vasc.action.add.name = Toevoegen
|
||||||
|
vasc.action.add.tooltip = Voegt een nieuw rij toe.
|
||||||
|
vasc.action.add.image = /META-INF/images/silk/png/table_add.png
|
||||||
|
|
||||||
|
vasc.action.edit.name = Aanpassen
|
||||||
|
vasc.action.edit.tooltip = Pas een waarde aan van de geselecteerde rij in de table.
|
||||||
|
vasc.action.edit.image = /META-INF/images/silk/png/table_edit.png
|
||||||
|
|
||||||
|
vasc.action.del.name = Verwijderen
|
||||||
|
vasc.action.del.tooltip = Verwijdert de geselecteerde rij uit de table.
|
||||||
|
vasc.action.del.image = /META-INF/images/silk/png/table_delete.png
|
||||||
|
|
||||||
|
vasc.action.csv.name = CSV
|
||||||
|
vasc.action.csv.tooltip = Exporteren naar Excel.
|
||||||
|
vasc.action.csv.image = /META-INF/images/silk/png/page_white_excel.png
|
||||||
|
|
||||||
|
vasc.action.xml.name = XML
|
||||||
|
vasc.action.xml.tooltip = Exporteren naar Xml.
|
||||||
|
vasc.action.xml.image = /META-INF/images/silk/png/page_white_excel.png
|
||||||
|
|
||||||
|
vasc.action.refresh.name = Vernieuwen
|
||||||
|
vasc.action.refresh.tooltip = Ververst de waardes in de table.
|
||||||
|
vasc.action.refresh.image = /META-INF/images/silk/png/table_refresh.png
|
||||||
|
|
BIN
tests/resources/images/gabelfresser.gif
Normal file
BIN
tests/resources/images/gabelfresser.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.9 KiB |
Loading…
Reference in a new issue