IDEMPIERE-724 Zk: Make iDempiere theme more easily customizable.

This commit is contained in:
Heng Sin Low 2013-03-12 16:21:04 +08:00
parent 7a5fd10add
commit b8bc2e4da7
371 changed files with 498 additions and 973 deletions

View File

@ -446,15 +446,7 @@ public class GridWindow implements Serializable
{
StringBuilder title = new StringBuilder(Msg.getMsg(Env.getCtx(), "Window")).append(": ").append(getName());
WebDoc doc = null;
if (javaClient)
{
doc = WebDoc.create (false, title.toString(), javaClient);
}
else // HTML
{
doc = WebDoc.createPopup (title.toString());
doc.addPopupClose(Env.getCtx());
}
doc = WebDoc.create (false, title.toString(), javaClient);
// body.addElement("© Adempiere   ");
// body.addElement(new a("http://www.adempiere.org/help/", "Online Help"));
@ -565,8 +557,6 @@ public class GridWindow implements Serializable
center.addElement(new p().addElement(WebDoc.NBSP));
} // for all Tabs
if (!javaClient)
doc.addPopupClose(Env.getCtx());
//System.out.println(doc.toString());
return doc;
} // getHelpDoc

View File

@ -189,11 +189,8 @@ public class WebDoc
m_topRight.addElement(new img("res:org/compiere/images/AD10030.png")
.setAlign(AlignType.RIGHT).setAlt("iDempiere"));
} else {
if (title.equals("")) {
m_topRight.addElement(WebEnv.getLogo());
} else {
m_topRight.addElement(new h1(title));
}
m_topRight.addElement(new img("images/header-logo.png")
.setAlign(AlignType.RIGHT).setAlt("iDempiere"));
}
m_topRow.addElement(m_topRight);
m_table.addElement(m_topRow);

View File

@ -21,23 +21,19 @@ import javax.servlet.ServletRequest;
import org.adempiere.webui.apps.AEnv;
import org.adempiere.webui.part.AbstractUIPart;
import org.adempiere.webui.theme.ITheme;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.window.LoginWindow;
import org.zkoss.web.servlet.Servlets;
import org.zkoss.zhtml.Text;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.UiException;
import org.zkoss.zk.ui.metainfo.PageDefinition;
import org.zkoss.zul.Borderlayout;
import org.zkoss.zul.Center;
import org.zkoss.zul.East;
import org.zkoss.zul.North;
import org.zkoss.zul.South;
import org.zkoss.zul.West;
import org.zkoss.zul.Div;
import org.zkoss.zul.Vbox;
import org.zkoss.zul.Window;
/**
@ -62,31 +58,13 @@ public class WLogin extends AbstractUIPart
protected Component doCreatePart(Component parent)
{
layout = new Borderlayout();
if (parent != null)
layout.setParent(parent);
else
layout.setPage(page);
LayoutUtils.addSclass(ITheme.LOGIN_WINDOW_CLASS, layout);
PageDefinition pageDefintion = Executions.getCurrent().getPageDefinition(ThemeManager.getThemeResource("zul/login/login.zul"));
Component loginPage = Executions.createComponents(pageDefintion, parent, null);
Center center = new Center();
center.setParent(layout);
center.setBorder("none");
center.setAutoscroll(true);
center.setStyle("border: none; background-color: transparent;");
layout = (Borderlayout) loginPage.getFellow("layout");
Vbox vb = new Vbox();
vb.setParent(center);
vb.setHeight("100%");
vb.setWidth("100%");
vb.setPack("center");
vb.setAlign("center");
vb.setStyle("background-color: transparent;");
vb.setHflex("1");
vb.setVflex("1");
loginWindow = new LoginWindow(app);
loginWindow.setParent(vb);
loginWindow = (LoginWindow) loginPage.getFellow("loginWindow");
loginWindow.init(app);
if (!AEnv.isBrowserSupported())
{
@ -103,89 +81,44 @@ public class WLogin extends AbstractUIPart
browserWarningWindow.doOverlapped();
}
try {
String right = ThemeManager.getLoginRightPanel();
PageDefinition pageDefintion = Executions.getCurrent().getPageDefinition(right);
East east = new East();
east.setSclass(ITheme.LOGIN_EAST_PANEL_CLASS);
addContent(east, pageDefintion);
} catch (Exception e) {
//ignore page not found exception
if (e instanceof UiException) {
if (!(e.getMessage() != null && e.getMessage().startsWith("Page not found"))) {
e.printStackTrace();
}
} else {
e.printStackTrace();
String ua = Servlets.getUserAgent((ServletRequest) Executions.getCurrent().getNativeRequest());
ua = ua.toLowerCase();
boolean mobile = ua.indexOf("ipad") >= 0 || ua.indexOf("iphone") >= 0 || ua.indexOf("android") >= 0;
West west = layout.getWest();
if (west.getFirstChild() != null && west.getFirstChild().getFirstChild() != null) {
if (mobile) {
west.setCollapsible(true);
west.setOpen(false);
}
} else {
west.setVisible(false);
}
try {
String left = ThemeManager.getLoginLeftPanel();
PageDefinition pageDefintion = Executions.getCurrent().getPageDefinition(left);
West west = new West();
west.setSclass(ITheme.LOGIN_WEST_PANEL_CLASS);
addContent(west, pageDefintion);
String ua = Servlets.getUserAgent((ServletRequest) Executions.getCurrent().getNativeRequest());
ua = ua.toLowerCase();
boolean mobile = ua.indexOf("ipad") >= 0 || ua.indexOf("iphone") >= 0 || ua.indexOf("android") >= 0;
if (mobile) {
west.setCollapsible(true);
west.setOpen(false);
}
} catch (Exception e){
//ignore page not found exception
if (e instanceof UiException) {
if (!(e.getMessage() != null && e.getMessage().startsWith("Page not found"))) {
e.printStackTrace();
}
} else {
e.printStackTrace();
East east = layout.getEast();
if (east.getFirstChild() != null && east.getFirstChild().getFirstChild() != null) {
if (mobile) {
east.setCollapsible(true);
east.setOpen(false);
}
} else {
east.setVisible(false);
}
try {
String top = ThemeManager.getLoginTopPanel();
PageDefinition pageDefintion = Executions.getCurrent().getPageDefinition(top);
North north = new North();
north.setSclass(ITheme.LOGIN_NORTH_PANEL_CLASS);
addContent(north, pageDefintion);
} catch (Exception e) {
//ignore page not found exception
if (e instanceof UiException) {
if (!(e.getMessage() != null && e.getMessage().startsWith("Page not found"))) {
e.printStackTrace();
}
} else {
e.printStackTrace();
}
North north = layout.getNorth();
if (north.getFirstChild() == null || north.getFirstChild().getFirstChild() == null) {
north.setVisible(false);
}
try {
String bottom = ThemeManager.getLoginBottomPanel();
PageDefinition pageDefintion = Executions.getCurrent().getPageDefinition(bottom);
South south = new South();
south.setSclass(ITheme.LOGIN_SOUTH_PANEL_CLASS);
addContent(south, pageDefintion);
} catch (Exception e) {
//ignore page not found exception
if (e instanceof UiException) {
if (!(e.getMessage() != null && e.getMessage().startsWith("Page not found"))) {
e.printStackTrace();
}
} else {
e.printStackTrace();
}
South south = layout.getSouth();
if (south.getFirstChild() == null || south.getFirstChild().getFirstChild() == null) {
south.setVisible(false);
}
return layout;
}
private void addContent(Component parent, PageDefinition page) {
layout.appendChild(parent);
Executions.createComponents(page, parent, null);
}
public void detach() {
layout.detach();
layout = null;

View File

@ -21,6 +21,7 @@ import java.util.logging.Level;
import org.adempiere.util.Callback;
import org.adempiere.webui.adwindow.ADWindow;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.model.GridTab;
import org.compiere.model.MAsset;
import org.compiere.model.MBPartner;
@ -102,7 +103,7 @@ public class WRequest implements EventListener<Event>
private void getRequests (Component invoker)
{
m_new = new Menuitem(Msg.getMsg(Env.getCtx(), "RequestNew"));
m_new.setImage("/images/New16.png");
m_new.setImage(ThemeManager.getThemeResource("images/New16.png"));
m_new.addEventListener(Events.ON_CLICK, this);
m_popup.appendChild(m_new);
//

View File

@ -49,6 +49,7 @@ import org.adempiere.webui.component.Window;
import org.adempiere.webui.event.DialogEvents;
import org.adempiere.webui.panel.InfoPanel;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.window.FDialog;
import org.compiere.model.MAcctSchema;
import org.compiere.model.MAcctSchemaElement;
@ -461,17 +462,17 @@ public class WAcctViewer extends Window implements EventListener<Event>
forcePost.setVisible(false);
// Elaine 2009/07/29
bZoom.setImage("/images/Zoom16.png");
bZoom.setImage(ThemeManager.getThemeResource(ThemeManager.getThemeResource("images/Zoom16.png")));
bZoom.setTooltiptext(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "Zoom")));
bZoom.setVisible(tabbedPane.getSelectedIndex() == 1);
bZoom.addEventListener(Events.ON_CLICK, this);
//
bQuery.setImage("/images/Refresh16.png");
bQuery.setImage(ThemeManager.getThemeResource(ThemeManager.getThemeResource("images/Refresh16.png")));
bQuery.setTooltiptext(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "Refresh")));
bQuery.addEventListener(Events.ON_CLICK, this);
bExport.setImage("/images/Export16.png");
bExport.setImage(ThemeManager.getThemeResource(ThemeManager.getThemeResource("images/Export16.png")));
bExport.setTooltiptext(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "Export")));
bExport.addEventListener(Events.ON_CLICK, this);
bExport.setVisible(false);
@ -605,7 +606,7 @@ public class WAcctViewer extends Window implements EventListener<Event>
m_data.fillTable(selTable);
selTable.addEventListener(Events.ON_SELECT, this);
selRecord.setImage("/images/Find16.png");
selRecord.setImage(ThemeManager.getThemeResource("images/Find16.png"));
selRecord.addEventListener(Events.ON_CLICK, this);
selRecord.setLabel("");
@ -618,7 +619,7 @@ public class WAcctViewer extends Window implements EventListener<Event>
selAcct.setName("Account_ID");
selAcct.addEventListener(Events.ON_CLICK, this);
selAcct.setLabel("");
selAcct.setImage("/images/Find16.png");
selAcct.setImage(ThemeManager.getThemeResource("images/Find16.png"));
statusLine.setValue(" " + Msg.getMsg(Env.getCtx(), "ViewerOptions"));
@ -833,7 +834,7 @@ public class WAcctViewer extends Window implements EventListener<Event>
labels[selectionIndex].setVisible(true);
buttons[selectionIndex].setName(columnName); // actionCommand
buttons[selectionIndex].addEventListener(Events.ON_CLICK, this);
buttons[selectionIndex].setImage("/images/Find16.png");
buttons[selectionIndex].setImage(ThemeManager.getThemeResource("images/Find16.png"));
buttons[selectionIndex].setLabel("");
buttons[selectionIndex].setVisible(true);
selectionIndex++;

View File

@ -33,6 +33,7 @@ import org.adempiere.webui.component.ListItem;
import org.adempiere.webui.component.Listbox;
import org.adempiere.webui.component.Panel;
import org.adempiere.webui.component.SimpleListModel;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.window.FDialog;
import org.compiere.model.GridTab;
import org.compiere.model.MRole;
@ -288,10 +289,10 @@ public class ADSortTab extends Panel implements IADTabpanel
yesModel.setMultiple(true);
noModel.setMultiple(true);
bAdd.setImage("images/Next24.png");
bAdd.setImage(ThemeManager.getThemeResource("images/Next24.png"));
bAdd.addEventListener(Events.ON_CLICK, actionListener);
bRemove.setImage("images/Previous24.png");
bRemove.setImage(ThemeManager.getThemeResource("images/Previous24.png"));
bRemove.addEventListener(Events.ON_CLICK, actionListener);
EventListener<Event> crossListMouseListener = new DragListener();
@ -307,10 +308,10 @@ public class ADSortTab extends Panel implements IADTabpanel
}
};
bUp.setImage("images/Parent24.png");
bUp.setImage(ThemeManager.getThemeResource("images/Parent24.png"));
bUp.addEventListener(Events.ON_CLICK, actionListener2);
bDown.setImage("images/Detail24.png");
bDown.setImage(ThemeManager.getThemeResource("images/Detail24.png"));
bDown.addEventListener(Events.ON_CLICK, actionListener2);
ListHead listHead = new ListHead();

View File

@ -35,6 +35,7 @@ import org.adempiere.webui.component.FToolbar;
import org.adempiere.webui.component.ToolBarButton;
import org.adempiere.webui.event.ToolbarListener;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.model.MRole;
import org.compiere.model.MToolBarButton;
import org.compiere.model.MToolBarButtonRestrict;
@ -222,7 +223,7 @@ public class ADWindowToolbar extends FToolbar implements EventListener<Event>
btn.setName(BTNPREFIX+name);
btn.setId(btn.getName());
if (image != null)
btn.setImage("/images/"+image + "24.png");
btn.setImage(ThemeManager.getThemeResource("images/"+image + "24.png"));
btn.setTooltiptext(Msg.getMsg(Env.getCtx(),tooltip));
btn.setSclass("toolbar-button");
@ -463,7 +464,8 @@ public class ADWindowToolbar extends FToolbar implements EventListener<Event>
{
this.btnLock.setPressed(locked);
String imgURL = "/images/"+ (this.btnLock.isPressed() ? "LockX" : "Lock") + "24.png";
String imgURL = "images/"+ (this.btnLock.isPressed() ? "LockX" : "Lock") + "24.png";
imgURL = ThemeManager.getThemeResource(imgURL);
this.btnLock.setImage(imgURL);
}

View File

@ -33,6 +33,8 @@ import java.util.Set;
import java.util.TreeMap;
import java.util.logging.Level;
import javax.servlet.http.HttpServletRequest;
import org.adempiere.util.Callback;
import org.adempiere.webui.AdempiereIdGenerator;
import org.adempiere.webui.AdempiereWebUI;
@ -68,6 +70,7 @@ import org.adempiere.webui.panel.action.ReportAction;
import org.adempiere.webui.part.AbstractUIPart;
import org.adempiere.webui.part.ITabOnSelectHandler;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.window.CustomizeGridViewDialog;
import org.adempiere.webui.window.FDialog;
import org.adempiere.webui.window.FindWindow;
@ -1554,8 +1557,12 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
*/
public void onHelp()
{
WebDoc doc = gridWindow.getHelpDoc(true);
SessionManager.getAppDesktop().showURL(doc, "Help", true);
WebDoc doc = gridWindow.getHelpDoc(false);
String html = doc.toString();
HttpServletRequest request = (HttpServletRequest) Executions.getCurrent().getNativeRequest();
String logo = request.getContextPath() + ThemeManager.getThemeResource("images/header-logo.png");
html = html.replace("images/header-logo.png", logo);
SessionManager.getAppDesktop().showHTMLContent(html, "Help", true);
}
/**
@ -2098,7 +2105,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
Button btnOk = new Button();
// Invert - Unify OK/Cancel IDEMPIERE-77
//btnOk.setLabel(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "OK")));
btnOk.setImage("/images/Ok16.png");
btnOk.setImage(ThemeManager.getThemeResource("images/Ok16.png"));
btnOk.addEventListener(Events.ON_CLICK, new EventListener<Event>()
{
public void onEvent(Event event) throws Exception
@ -2148,7 +2155,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
Button btnCancel = new Button();
//btnCancel.setLabel(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "Cancel")));
btnCancel.setImage("/images/Cancel16.png");
btnCancel.setImage(ThemeManager.getThemeResource("images/Cancel16.png"));
btnCancel.addEventListener(Events.ON_CLICK, new EventListener<Event>()
{
public void onEvent(Event event) throws Exception

View File

@ -31,6 +31,7 @@ import org.adempiere.webui.component.Window;
import org.adempiere.webui.component.ZkCssHelper;
import org.adempiere.webui.event.ToolbarListener;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.window.WRecordInfo;
import org.compiere.model.DataStatusEvent;
import org.compiere.model.MRole;
@ -69,9 +70,9 @@ public class BreadCrumb extends Div implements EventListener<Event> {
private static final String ON_MOUSE_OUT_ECHO_EVENT = "onMouseOutEcho";
private static final String INFO_INDICATOR_IMAGE = "/images/InfoIndicator16.png";
private static final String INFO_INDICATOR_IMAGE = "images/InfoIndicator16.png";
private static final String ERROR_INDICATOR_IMAGE = "/images/ErrorIndicator16.png";
private static final String ERROR_INDICATOR_IMAGE = "images/ErrorIndicator16.png";
/**
* generated serial id
@ -327,7 +328,8 @@ public class BreadCrumb extends Div implements EventListener<Event> {
pathLabel.addEventListener(Events.ON_MOUSE_OVER, listener);
pathLabel.addEventListener(Events.ON_MOUSE_OUT, listener);
pathLabel.addEventListener(ON_MOUSE_OVER_ECHO_EVENT, listener);
ZkCssHelper.appendStyle(pathLabel, "background: transparent url('images/downarrow.png') no-repeat right center");
ZkCssHelper.appendStyle(pathLabel, "background: transparent url('theme/" + ThemeManager.getTheme() +
"/images/downarrow.png') no-repeat right center");
}
@Override
@ -426,7 +428,7 @@ public class BreadCrumb extends Div implements EventListener<Event> {
ToolBarButton btn = new ToolBarButton("");
btn.setName(BTNPREFIX+name);
btn.setId(name);
btn.setImage("/images/"+image + "24.png");
btn.setImage(ThemeManager.getThemeResource("images/"+image + "24.png"));
btn.setTooltiptext(Msg.getMsg(Env.getCtx(),tooltip));
btn.setSclass("breadcrumb-toolbar-button");
@ -522,9 +524,9 @@ public class BreadCrumb extends Div implements EventListener<Event> {
Image image = null;
if (error)
image = new Image(ERROR_INDICATOR_IMAGE);
image = new Image(ThemeManager.getThemeResource(ERROR_INDICATOR_IMAGE));
else
image = new Image(INFO_INDICATOR_IMAGE);
image = new Image(ThemeManager.getThemeResource(INFO_INDICATOR_IMAGE));
image.setAttribute("org.zkoss.zul.image.preload", Boolean.TRUE);
messageContainer.appendChild(image);
@ -653,7 +655,8 @@ public class BreadCrumb extends Div implements EventListener<Event> {
}
private void showPopup() {
msgPopupCaption.setImage(m_statusError ? ERROR_INDICATOR_IMAGE : INFO_INDICATOR_IMAGE);
msgPopupCaption.setImage(m_statusError ? ThemeManager.getThemeResource(ERROR_INDICATOR_IMAGE)
: ThemeManager.getThemeResource(INFO_INDICATOR_IMAGE));
appendChild(msgPopup);
LayoutUtils.openOverlappedWindow(messageContainer, msgPopup, "overlap_end");
}

View File

@ -17,6 +17,7 @@ import org.adempiere.webui.component.ToolBarButton;
import org.adempiere.webui.component.Window;
import org.adempiere.webui.component.ADTabListModel.ADTabLabel;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.util.Env;
import org.compiere.util.Msg;
import org.compiere.util.Util;
@ -54,19 +55,19 @@ public class DetailPane extends Panel implements EventListener<Event>, IdSpace {
private static final String STATUS_ERROR_ATTRIBUTE = "status.error";
private static final String DELETE_IMAGE = "/images/Delete16.png";
private static final String EDIT_IMAGE = "/images/EditRecord16.png";
private static final String NEW_IMAGE = "/images/New16.png";
private static final String PROCESS_IMAGE = "/images/Process16.png";
private static final String DELETE_IMAGE = "images/Delete16.png";
private static final String EDIT_IMAGE = "images/EditRecord16.png";
private static final String NEW_IMAGE = "images/New16.png";
private static final String PROCESS_IMAGE = "images/Process16.png";
/**
* generated serial id
*/
private static final long serialVersionUID = -7914602940626352282L;
private static final String INFO_INDICATOR_IMAGE = "/images/InfoIndicator16.png";
private static final String INFO_INDICATOR_IMAGE = "images/InfoIndicator16.png";
private static final String ERROR_INDICATOR_IMAGE = "/images/ErrorIndicator16.png";
private static final String ERROR_INDICATOR_IMAGE = "images/ErrorIndicator16.png";
private Tabbox tabbox;
@ -251,7 +252,7 @@ public class DetailPane extends Panel implements EventListener<Event>, IdSpace {
ToolBarButton button = new ToolBarButton();
button = new ToolBarButton();
button.setImage(NEW_IMAGE);
button.setImage(ThemeManager.getThemeResource(NEW_IMAGE));
button.setId("BtnNew");
toolbar.appendChild(button);
button.addEventListener(Events.ON_CLICK, new EventListener<Event>() {
@ -264,7 +265,7 @@ public class DetailPane extends Panel implements EventListener<Event>, IdSpace {
button.setTooltiptext(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "New")));
button = new ToolBarButton();
button.setImage(EDIT_IMAGE);
button.setImage(ThemeManager.getThemeResource(EDIT_IMAGE));
button.setId("BtnEdit");
toolbar.appendChild(button);
button.addEventListener(Events.ON_CLICK, new EventListener<Event>() {
@ -276,7 +277,7 @@ public class DetailPane extends Panel implements EventListener<Event>, IdSpace {
button.setTooltiptext(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "EditRecord")));
button = new ToolBarButton();
button.setImage(DELETE_IMAGE);
button.setImage(ThemeManager.getThemeResource(DELETE_IMAGE));
button.setId("BtnDelete");
toolbar.appendChild(button);
button.addEventListener(Events.ON_CLICK, new EventListener<Event>() {
@ -290,7 +291,7 @@ public class DetailPane extends Panel implements EventListener<Event>, IdSpace {
if (!tabPanel.getGridTab().isSortTab()) {
button = new ToolBarButton();
button.setImage(PROCESS_IMAGE);
button.setImage(ThemeManager.getThemeResource(PROCESS_IMAGE));
button.setId("BtnProcess");
toolbar.appendChild(button);
button.addEventListener(Events.ON_CLICK, new EventListener<Event>() {
@ -419,9 +420,9 @@ public class DetailPane extends Panel implements EventListener<Event>, IdSpace {
Image image = null;
if (error)
image = new Image(ERROR_INDICATOR_IMAGE);
image = new Image(ThemeManager.getThemeResource(ERROR_INDICATOR_IMAGE));
else
image = new Image(INFO_INDICATOR_IMAGE);
image = new Image(ThemeManager.getThemeResource(INFO_INDICATOR_IMAGE));
image.setAttribute("org.zkoss.zul.image.preload", Boolean.TRUE);
messageContainer.appendChild(image);
@ -563,14 +564,17 @@ public class DetailPane extends Panel implements EventListener<Event>, IdSpace {
}
boolean enableNew = !changed && insertRecord && !adtab.getGridTab().isSortTab();
boolean enableDelete = !changed && !readOnly && !adtab.getGridTab().isSortTab();
String newImage = ThemeManager.getThemeResource(NEW_IMAGE);
String deleteImage = ThemeManager.getThemeResource(DELETE_IMAGE);
String editImage = ThemeManager.getThemeResource(EDIT_IMAGE);
for(Component c : toolbar.getChildren()) {
if (c instanceof ToolBarButton) {
ToolBarButton btn = (ToolBarButton) c;
if (NEW_IMAGE.equals(btn.getImage())) {
if (newImage.equals(btn.getImage())) {
btn.setDisabled(!enableNew);
} else if (DELETE_IMAGE.equals(btn.getImage())) {
} else if (deleteImage.equals(btn.getImage())) {
btn.setDisabled(!enableDelete);
} else if (EDIT_IMAGE.equals(btn.getImage())) {
} else if (editImage.equals(btn.getImage())) {
btn.setDisabled(false);
}
}
@ -587,10 +591,11 @@ public class DetailPane extends Panel implements EventListener<Event>, IdSpace {
IADTabpanel adtab = getADTabpanel(index);
if (adtab == null) return;
String processImage = ThemeManager.getThemeResource(PROCESS_IMAGE);
for(Component c : toolbar.getChildren()) {
if (c instanceof ToolBarButton) {
ToolBarButton btn = (ToolBarButton) c;
if (PROCESS_IMAGE.equals(btn.getImage())) {
if (processImage.equals(btn.getImage())) {
if (adtab.getGridTab().isSortTab()) {
btn.setDisabled(true);
} else {

View File

@ -556,7 +556,7 @@ public final class AEnv
URI uri = null;
try
{
uri = new URI("/images/" + fileNameInImageDir);
uri = new URI(ThemeManager.getThemeResource("images/" + fileNameInImageDir));
}
catch (URISyntaxException exception)
{

View File

@ -33,6 +33,7 @@ import org.adempiere.webui.component.Rows;
import org.adempiere.webui.component.Textbox;
import org.adempiere.webui.component.Window;
import org.adempiere.webui.editor.WTableDirEditor;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.util.FeedbackManager;
import org.adempiere.webui.window.FDialog;
import org.apache.commons.io.IOUtils;
@ -199,7 +200,7 @@ public class FeedbackRequestWindow extends Window implements EventListener<Event
vlayout.appendChild(confirmPanel);
Button btn = new Button();
btn.setImage("/images/Attachment24.png");
btn.setImage(ThemeManager.getThemeResource("images/Attachment24.png"));
btn.setUpload("true");
btn.addEventListener(Events.ON_UPLOAD, this);
btn.setTooltiptext(Msg.getMsg(Env.getCtx(), "Attachment"));

View File

@ -29,6 +29,7 @@ import org.adempiere.webui.desktop.IDesktop;
import org.adempiere.webui.part.WindowContainer;
import org.adempiere.webui.process.WProcessInfo;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.window.FDialog;
import org.adempiere.webui.window.MultiFileDownloadDialog;
import org.adempiere.webui.window.SimplePDFViewer;
@ -176,7 +177,7 @@ public class ProcessDialog extends Window implements EventListener<Event>, IProc
// Invert - Unify OK/Cancel IDEMPIERE-77
//bOK = new Button(label.replaceAll("&", ""));
bOK = new Button();
bOK.setImage("/images/Ok16.png");
bOK.setImage(ThemeManager.getThemeResource("images/Ok16.png"));
bOK.setId("Ok");
bOK.addEventListener(Events.ON_CLICK, this);
bOK.setSclass("action-image-text-button");
@ -184,7 +185,7 @@ public class ProcessDialog extends Window implements EventListener<Event>, IProc
//label = Msg.getMsg(Env.getCtx(), "Cancel");
Button btn = new Button();
btn.setImage("/images/Cancel16.png");
btn.setImage(ThemeManager.getThemeResource("images/Cancel16.png"));
btn.setId("Cancel");
btn.addEventListener(Events.ON_CLICK, this);
btn.setSclass("action-image-text-button");
@ -470,7 +471,7 @@ public class ProcessDialog extends Window implements EventListener<Event>, IProc
appendRecordLogInfo(pi.getLogs());
bOK.setLabel(Msg.getMsg(Env.getCtx(), "Parameter"));
bOK.setImage("/images/Reset16.png");
bOK.setImage(ThemeManager.getThemeResource("images/Reset16.png"));
isParameterPage = false;
m_ids = pi.getIDs();
@ -587,7 +588,7 @@ public class ProcessDialog extends Window implements EventListener<Event>, IProc
isParameterPage = true;
bOK.setLabel(Msg.getMsg(Env.getCtx(), "Start"));
bOK.setImage("/images/Ok16.png");
bOK.setImage(ThemeManager.getThemeResource("images/Ok16.png"));
//recreate process info
m_pi = new WProcessInfo(m_Name, m_AD_Process_ID);

View File

@ -37,6 +37,7 @@ import org.adempiere.webui.component.Panel;
import org.adempiere.webui.component.VerticalBox;
import org.adempiere.webui.component.Window;
import org.adempiere.webui.event.DialogEvents;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.window.FDialog;
import org.adempiere.webui.window.MultiFileDownloadDialog;
import org.compiere.Adempiere;
@ -176,14 +177,14 @@ public class ProcessModalDialog extends Window implements EventListener<Event>,
hbox.setWidth("100%");
hbox.setStyle("margin-top: 10px");
Button btn = new Button("");
btn.setImage("/images/Ok24.png");
btn.setImage(ThemeManager.getThemeResource("images/Ok24.png"));
LayoutUtils.addSclass("action-button", btn);
btn.setId("Ok");
btn.addEventListener(Events.ON_CLICK, this);
hbox.appendChild(btn);
btn = new Button("");
btn.setImage("/images/Cancel24.png");
btn.setImage(ThemeManager.getThemeResource("images/Cancel24.png"));
btn.setId("Cancel");
LayoutUtils.addSclass("action-button", btn);
btn.addEventListener(Events.ON_CLICK, this);

View File

@ -49,6 +49,7 @@ import org.adempiere.webui.panel.ADForm;
import org.adempiere.webui.panel.CustomForm;
import org.adempiere.webui.panel.IFormController;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.window.FDialog;
import org.compiere.apps.form.Archive;
import org.compiere.model.MArchive;
@ -206,23 +207,23 @@ public class WArchiveViewer extends Archive implements IFormController, EventLis
createdByQField.setMold("select");
createdByQField.setRows(1);
updateArchive.setImage("/images/Ok24.png");
updateArchive.setImage(ThemeManager.getThemeResource("images/Ok24.png"));
updateArchive.setTooltiptext(Msg.getMsg(Env.getCtx(), "Update"));
updateArchive.addEventListener(Events.ON_CLICK, this);
deleteArchive.setImage("/images/Delete24.png");
deleteArchive.setImage(ThemeManager.getThemeResource("images/Delete24.png"));
deleteArchive.setTooltiptext(Msg.getMsg(Env.getCtx(), "Delete"));
deleteArchive.addEventListener(Events.ON_CLICK, this);
bRefresh.setImage("/images/Refresh24.png");
bRefresh.setImage(ThemeManager.getThemeResource("images/Refresh24.png"));
bRefresh.setTooltiptext(Msg.getMsg(Env.getCtx(), "Refresh"));
bRefresh.addEventListener(Events.ON_CLICK, this);
bBack.setImage("/images/wfBack24.png");
bBack.setImage(ThemeManager.getThemeResource("images/wfBack24.png"));
bBack.setTooltiptext(Msg.getMsg(Env.getCtx(), "Previous"));
bBack.addEventListener(Events.ON_CLICK, this);
bNext.setImage("/images/wfNext24.png");
bNext.setImage(ThemeManager.getThemeResource("images/wfNext24.png"));
bNext.setTooltiptext(Msg.getMsg(Env.getCtx(), "Next"));
bNext.addEventListener(Events.ON_CLICK, this);

View File

@ -42,6 +42,7 @@ import org.adempiere.webui.panel.WRC4GroupingCriteriaPanel;
import org.adempiere.webui.panel.WRC5SummaryFieldsPanel;
import org.adempiere.webui.panel.WRCTabPanel;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.window.FDialog;
import org.adempiere.webui.window.ZkReportViewer;
import org.compiere.model.MRole;
@ -266,7 +267,7 @@ public class WReportCustomization implements IFormController,EventListener<Even
btnSave = new Button();
btnSave.setName("btnSave");
btnSave.setTooltiptext(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "Save")));
btnSave.setImage("/images/Save24.png");
btnSave.setImage(ThemeManager.getThemeResource("images/Save24.png"));
if(fm.getAD_Client_ID()== 0 || !isChange)
{
btnSave.setDisabled(true);
@ -276,7 +277,7 @@ public class WReportCustomization implements IFormController,EventListener<Even
if (m_isCanExport)
{
bExport.setImage("/images/ExportX24.png");
bExport.setImage(ThemeManager.getThemeResource("images/Export24.png"));
bExport.setName("btnExport");
bExport.setTooltiptext(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "Export")));
confirmPanelMain.addComponentsLeft(bExport);

View File

@ -34,6 +34,7 @@ import org.adempiere.webui.component.Row;
import org.adempiere.webui.component.Rows;
import org.adempiere.webui.component.Textbox;
import org.adempiere.webui.panel.ADForm;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.util.CLogger;
import org.compiere.util.DB;
import org.compiere.util.Env;
@ -139,7 +140,7 @@ public class WSQLProcess extends ADForm implements EventListener<Event>
{
Button btnProcess = new Button();
btnProcess.setImage("/images/Process24.png");
btnProcess.setImage(ThemeManager.getThemeResource("images/Process24.png"));
btnProcess.setName(Msg.getMsg(Env.getCtx(), "Process"));
return btnProcess;

View File

@ -37,6 +37,7 @@ import org.adempiere.webui.panel.ADForm;
import org.adempiere.webui.panel.CustomForm;
import org.adempiere.webui.panel.IFormController;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.util.TreeUtils;
import org.compiere.apps.form.SetupWizard;
import org.compiere.model.MLookup;
@ -276,19 +277,19 @@ public class WSetupWizard extends SetupWizard implements IFormController, EventL
mainLayout.setHeight("100%");
mainLayout.setStyle("position: absolute");
bRefresh.setImage("/images/Refresh24.png");
bRefresh.setImage(ThemeManager.getThemeResource("images/Refresh24.png"));
bRefresh.setTooltiptext(Msg.getMsg(Env.getCtx(), "Refresh"));
bRefresh.addEventListener(Events.ON_CLICK, this);
bOK.setImage("/images/Ok24.png");
bOK.setImage(ThemeManager.getThemeResource("images/Ok24.png"));
bOK.setTooltiptext(Msg.getMsg(Env.getCtx(), "Update"));
bOK.addEventListener(Events.ON_CLICK, this);
bNext.setImage("/images/Next24.png");
bNext.setImage(ThemeManager.getThemeResource("images/Next24.png"));
bNext.setTooltiptext(Msg.getMsg(Env.getCtx(), "Next"));
bNext.addEventListener(Events.ON_CLICK, this);
bZoom.setImage("/images/Zoom16.png");
bZoom.setImage(ThemeManager.getThemeResource("images/Zoom16.png"));
bZoom.setTooltiptext(Msg.getMsg(Env.getCtx(), "Zoom"));
bZoom.addEventListener(Events.ON_CLICK, this);

View File

@ -32,6 +32,7 @@ import org.adempiere.webui.panel.ADForm;
import org.adempiere.webui.panel.CustomForm;
import org.adempiere.webui.panel.IFormController;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.window.FDialog;
import org.compiere.apps.form.TreeMaintenance;
import org.compiere.model.MTree;
@ -123,10 +124,10 @@ public class WTreeMaintenance extends TreeMaintenance implements IFormController
*/
private void jbInit () throws Exception
{
bAddAll.setImage("images/FastBack24.png");
bAdd.setImage("images/StepBack24.png");
bDelete.setImage("images/StepForward24.png");
bDeleteAll.setImage("images/FastForward24.png");
bAddAll.setImage(ThemeManager.getThemeResource("images/FastBack24.png"));
bAdd.setImage(ThemeManager.getThemeResource("images/StepBack24.png"));
bDelete.setImage(ThemeManager.getThemeResource("images/StepForward24.png"));
bDeleteAll.setImage(ThemeManager.getThemeResource("images/FastForward24.png"));
form.setWidth("99%");
form.setHeight("100%");

View File

@ -20,6 +20,7 @@ import java.awt.image.BufferedImage;
import java.text.DecimalFormat;
import org.adempiere.webui.component.Panel;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.model.MColorSchema;
import org.compiere.model.MGoal;
import org.compiere.util.DisplayType;
@ -82,7 +83,7 @@ public class WPerformanceIndicator extends Panel implements EventListener<Event>
private static DecimalFormat s_format = DisplayType.getNumberFormat(DisplayType.Integer);
Menupopup popupMenu = new Menupopup();
private Menuitem mRefresh = new Menuitem(Msg.getMsg(Env.getCtx(), "Refresh"), "/images/Refresh16.png");
private Menuitem mRefresh = new Menuitem(Msg.getMsg(Env.getCtx(), "Refresh"), ThemeManager.getThemeResource("images/Refresh16.png"));
ChartPanel chartPanel;

View File

@ -30,6 +30,7 @@ import org.adempiere.webui.component.ToolBar;
import org.adempiere.webui.component.Window;
import org.adempiere.webui.event.DialogEvents;
import org.adempiere.webui.panel.ADForm;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.apps.wf.WFGraphLayout;
import org.compiere.apps.wf.WFNodeWidget;
import org.compiere.model.MQuery;
@ -111,19 +112,19 @@ public class WFEditor extends ADForm {
workflowList.setStyle("margin-left: 10px; margin-top: 5px; margin-right:5px;");
// Zoom
zoomButton = new Toolbarbutton();
zoomButton.setImage("/images/Zoom16.png");
zoomButton.setImage(ThemeManager.getThemeResource("images/Zoom16.png"));
toolbar.appendChild(zoomButton);
zoomButton.addEventListener(Events.ON_CLICK, this);
zoomButton.setTooltiptext(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "Zoom")));
// New Node
newButton = new Toolbarbutton();
newButton.setImage("/images/New16.png");
newButton.setImage(ThemeManager.getThemeResource("images/New16.png"));
toolbar.appendChild(newButton);
newButton.addEventListener(Events.ON_CLICK, this);
newButton.setTooltiptext(Msg.getMsg(Env.getCtx(), "CreateNewNode"));
// Refresh
refreshButton = new Toolbarbutton();
refreshButton.setImage("/images/Refresh16.png");
refreshButton.setImage(ThemeManager.getThemeResource("images/Refresh16.png"));
toolbar.appendChild(refreshButton);
refreshButton.addEventListener(Events.ON_CLICK, this);
refreshButton.setTooltiptext(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "Refresh")));

View File

@ -37,6 +37,7 @@ import org.adempiere.webui.component.Window;
import org.adempiere.webui.editor.WSearchEditor;
import org.adempiere.webui.panel.ADForm;
import org.adempiere.webui.panel.StatusBarPanel;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.window.FDialog;
import org.compiere.model.MColumn;
import org.compiere.model.MLookup;
@ -128,8 +129,8 @@ public class WWFActivity extends ADForm implements EventListener<Event>
fAnswerList.setMold("select");
bZoom.setImage("/images/Zoom16.png");
bOK.setImage("/images/Ok24.png");
bZoom.setImage(ThemeManager.getThemeResource("images/Zoom16.png"));
bOK.setImage(ThemeManager.getThemeResource("images/Ok24.png"));
MLookup lookup = MLookupFactory.get(Env.getCtx(), m_WindowNo,
0, 10443, DisplayType.Search);
@ -454,7 +455,7 @@ public class WWFActivity extends ADForm implements EventListener<Event>
fAnswerText.setVisible(false);
fAnswerList.setVisible(false);
fAnswerButton.setVisible(false);
fAnswerButton.setImage("/images/mWindow.png");
fAnswerButton.setImage(ThemeManager.getThemeResource("images/mWindow.png"));
fTextMsg.setReadonly(!(selIndex >= 0));
bZoom.setEnabled(selIndex >= 0);
bOK.setEnabled(selIndex >= 0);

View File

@ -17,6 +17,7 @@ import java.util.List;
import javax.activation.DataSource;
import org.adempiere.webui.theme.ThemeManager;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
@ -42,7 +43,7 @@ public class AttachmentItem extends Hlayout implements EventListener<Event>{
"margin-right: 5px; margin-bottom: 5px;padding-left: 5px; padding-right: 5px;");
appendChild(new Label(ds.getName()));
if (removable) {
A x = new A("", "/images/X8.png");
A x = new A("", ThemeManager.getThemeResource("images/X8.png"));
x.setStyle("float: right; background-color: #f5f5f5");
appendChild(x);
this.ds = ds;

View File

@ -23,6 +23,7 @@ import java.util.List;
import java.util.Map;
import org.adempiere.webui.LayoutUtils;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.util.Env;
import org.compiere.util.Msg;
import org.zkoss.zk.ui.event.EventListener;
@ -112,13 +113,13 @@ public final class ConfirmPanel extends Hbox
if (m_withText && text != null)
{
button.setImage("images/"+name+"16.png");
button.setImage(ThemeManager.getThemeResource("images/"+name+"16.png"));
button.setLabel(text);
LayoutUtils.addSclass("action-text-button", button);
}
else
{
button.setImage("images/"+name+"24.png");
button.setImage(ThemeManager.getThemeResource("images/"+name+"24.png"));
if (text != null)
button.setTooltiptext(text);
LayoutUtils.addSclass("action-button", button);

View File

@ -16,6 +16,7 @@ package org.adempiere.webui.component;
import java.io.File;
import org.adempiere.webui.apps.AEnv;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.window.FDialog;
import org.compiere.model.MSysConfig;
import org.compiere.util.Ini;
@ -126,7 +127,7 @@ public class FolderBrowser extends Window implements EventListener<Event>
if(!dir.getParent().equals(root.getParent()))
{
ListItem li = new ListItem(dir.getName(), dir.getParent());
li.setImage("images/Undo16.png");
li.setImage(ThemeManager.getThemeResource("images/Undo16.png"));
listDir.appendChild(li);
}
@ -137,7 +138,7 @@ public class FolderBrowser extends Window implements EventListener<Event>
if(file.isDirectory())
{
ListItem li = new ListItem(file.getName(), file.getAbsolutePath());
li.setImage("images/Folder16.png");
li.setImage(ThemeManager.getThemeResource("images/Folder16.png"));
listDir.appendChild(li);
}
}

View File

@ -23,6 +23,7 @@ import org.adempiere.util.Callback;
import org.adempiere.webui.AdempiereIdGenerator;
import org.adempiere.webui.LayoutUtils;
import org.adempiere.webui.apps.AEnv;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.util.Env;
import org.compiere.util.Msg;
import org.compiere.util.Util;
@ -115,25 +116,25 @@ public class Messagebox extends Window implements EventListener<Event>
lblMsg.setValue(msg);
// Invert - Unify OK/Cancel IDEMPIERE-77
//btnOk.setLabel(Util.cleanAmp(Msg.getMsg(ctx, "OK")));
btnOk.setImage("/images/Ok16.png");
btnOk.setImage(ThemeManager.getThemeResource("images/Ok16.png"));
btnOk.setId("btnOk");
btnOk.addEventListener(Events.ON_CLICK, this);
LayoutUtils.addSclass("action-text-button", btnOk);
//btnCancel.setLabel(Util.cleanAmp(Msg.getMsg(ctx, "Cancel")));
btnCancel.setImage("/images/Cancel16.png");
btnCancel.setImage(ThemeManager.getThemeResource("images/Cancel16.png"));
btnCancel.addEventListener(Events.ON_CLICK, this);
btnCancel.setId("btnCancel");
LayoutUtils.addSclass("action-text-button", btnCancel);
btnYes.setLabel(Util.cleanAmp(Msg.getMsg(ctx, "Yes")));
btnYes.setImage("/images/Ok16.png");
btnYes.setImage(ThemeManager.getThemeResource("images/Ok16.png"));
btnYes.addEventListener(Events.ON_CLICK, this);
btnYes.setId("btnYes");
LayoutUtils.addSclass("action-text-button", btnYes);
btnNo.setLabel(Util.cleanAmp(Msg.getMsg(ctx, "No")));
btnNo.setImage("/images/Cancel16.png");
btnNo.setImage(ThemeManager.getThemeResource("images/Cancel16.png"));
btnNo.addEventListener(Events.ON_CLICK, this);
btnNo.setId("btnNo");
LayoutUtils.addSclass("action-text-button", btnNo);
@ -149,7 +150,7 @@ public class Messagebox extends Window implements EventListener<Event>
LayoutUtils.addSclass("action-text-button", btnRetry);
btnIgnore.setLabel("Ignore");
btnIgnore.setImage("/images/Ignore16.png");
btnIgnore.setImage(ThemeManager.getThemeResource("images/Ignore16.png"));
btnIgnore.addEventListener(Events.ON_CLICK, this);
btnIgnore.setId("btnIgnore");
LayoutUtils.addSclass("action-text-button", btnIgnore);

View File

@ -22,6 +22,7 @@ import java.text.NumberFormat;
import java.text.ParseException;
import org.adempiere.webui.LayoutUtils;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.util.DisplayType;
import org.compiere.util.Env;
import org.zkoss.zk.ui.Page;
@ -85,7 +86,7 @@ public class NumberBox extends Div
hlayout.appendChild(decimalBox);
btn = new Button();
btn.setImage("/images/Calculator10.png");
btn.setImage(ThemeManager.getThemeResource("images/Calculator10.png"));
btn.setTabindex(-1);
btn.setHflex("0");
btn.setWidgetListener("onClick", "try{var id=this.getPopup(); zk.Widget.$(id.substring(5, id.length - 1)).focus_(100);" +

View File

@ -18,6 +18,7 @@ import java.text.SimpleDateFormat;
import org.adempiere.webui.LayoutUtils;
import org.adempiere.webui.apps.AEnv;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.process.ProcessInfoLog;
import org.compiere.util.DisplayType;
import org.compiere.util.Env;
@ -63,7 +64,7 @@ public class ProcessInfoDialog extends Window implements EventListener<Event> {
lblMsg.setEncode(false);
lblMsg.setValue(header);
btnOk.setImage("/images/Ok16.png");
btnOk.setImage(ThemeManager.getThemeResource("images/Ok16.png"));
btnOk.addEventListener(Events.ON_CLICK, this);
LayoutUtils.addSclass("action-text-button", btnOk);

View File

@ -22,6 +22,7 @@ import java.util.logging.Level;
import org.adempiere.webui.component.Button;
import org.adempiere.webui.desktop.IDesktop;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.util.ServerPushTemplate;
import org.compiere.model.MRole;
import org.compiere.util.CLogger;
@ -80,7 +81,7 @@ public class DPActivities extends DashboardPanel implements EventListener<Event>
labelN = Util.cleanAmp(Msg.translate(Env.getCtx(), "AD_Note_ID"));
btnNotice.setLabel(labelN + " : 0");
btnNotice.setTooltiptext(labelN);
btnNotice.setImage("/images/GetMail16.png");
btnNotice.setImage(ThemeManager.getThemeResource("images/GetMail16.png"));
int AD_Menu_ID = DB.getSQLValue(null, "SELECT AD_Menu_ID FROM AD_Menu WHERE Name = 'Notice' AND IsSummary = 'N'");
btnNotice.setName(String.valueOf(AD_Menu_ID));
btnNotice.addEventListener(Events.ON_CLICK, this);
@ -90,7 +91,7 @@ public class DPActivities extends DashboardPanel implements EventListener<Event>
labelR = Util.cleanAmp(Msg.translate(Env.getCtx(), "R_Request_ID"));
btnRequest.setLabel(labelR + " : 0");
btnRequest.setTooltiptext(labelR);
btnRequest.setImage("/images/Request16.png");
btnRequest.setImage(ThemeManager.getThemeResource("images/Request16.png"));
AD_Menu_ID = DB.getSQLValue(null, "SELECT AD_Menu_ID FROM AD_Menu WHERE Name = 'Request' AND IsSummary = 'N'");
btnRequest.setName(String.valueOf(AD_Menu_ID));
btnRequest.addEventListener(Events.ON_CLICK, this);
@ -100,7 +101,7 @@ public class DPActivities extends DashboardPanel implements EventListener<Event>
labelW = Util.cleanAmp(Msg.translate(Env.getCtx(), "WorkflowActivities"));
btnWorkflow.setLabel(labelW + " : 0");
btnWorkflow.setTooltiptext(labelW);
btnWorkflow.setImage("/images/Assignment16.png");
btnWorkflow.setImage(ThemeManager.getThemeResource("images/Assignment16.png"));
AD_Menu_ID = DB.getSQLValue(null, "SELECT AD_Menu_ID FROM AD_Menu WHERE Name = 'Workflow Activities' AND IsSummary = 'N'");
btnWorkflow.setName(String.valueOf(AD_Menu_ID));
btnWorkflow.addEventListener(Events.ON_CLICK, this);
@ -111,7 +112,7 @@ public class DPActivities extends DashboardPanel implements EventListener<Event>
labelU = Util.cleanAmp(Msg.translate(Env.getCtx(), "UnprocessedDocs"));
btnUnprocessed.setLabel(labelU + " : 0");
btnUnprocessed.setTooltiptext(labelU);
btnUnprocessed.setImage("/images/Open16.png");
btnUnprocessed.setImage(ThemeManager.getThemeResource("images/Open16.png"));
AD_Menu_ID = DB.getSQLValue(null, "SELECT AD_Menu_ID FROM AD_Menu WHERE Name = 'My Unprocessed Documents' AND IsSummary = 'N'");
btnUnprocessed.setName(String.valueOf(AD_Menu_ID));
btnUnprocessed.addEventListener(Events.ON_CLICK, this);

View File

@ -21,6 +21,7 @@ import org.adempiere.util.Callback;
import org.adempiere.webui.adwindow.ADWindow;
import org.adempiere.webui.exception.ApplicationException;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.window.FDialog;
import org.compiere.model.GridTab;
import org.compiere.model.MMenu;
@ -91,7 +92,7 @@ public class DPFavourites extends DashboardPanel implements EventListener<Event>
this.appendChild(favToolbar);
// Elaine 2008/07/24
Image img = new Image("/images/Delete24.png");
Image img = new Image(ThemeManager.getThemeResource("images/Delete24.png"));
favToolbar.appendChild(img);
img.setStyle("text-align: right");
img.setTooltiptext(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "Delete")));
@ -146,7 +147,7 @@ public class DPFavourites extends DashboardPanel implements EventListener<Event>
hbox.appendChild(btnFavItem);
btnFavItem.setLabel(label);
btnFavItem.setTooltiptext(description);
btnFavItem.setImage(imageSrc);
btnFavItem.setImage(ThemeManager.getThemeResource(imageSrc));
btnFavItem.setDraggable(DELETE_FAV_DROPPABLE);
btnFavItem.addEventListener(Events.ON_CLICK, this);
btnFavItem.addEventListener(Events.ON_DROP, this);
@ -154,7 +155,7 @@ public class DPFavourites extends DashboardPanel implements EventListener<Event>
if (addNewBtn)
{
Toolbarbutton newBtn = new Toolbarbutton(null, "/images/New10.png");
Toolbarbutton newBtn = new Toolbarbutton(null, ThemeManager.getThemeResource("images/New10.png"));
newBtn.setAttribute(NODE_ID_ATTR, String.valueOf(nodeId));
hbox.appendChild(newBtn);
newBtn.addEventListener(Events.ON_CLICK, this);

View File

@ -19,6 +19,7 @@ import java.util.Properties;
import org.adempiere.base.Service;
import org.adempiere.base.event.EventManager;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.util.ServerPushTemplate;
import org.compiere.model.MQuery;
import org.compiere.model.MRecentItem;
@ -92,14 +93,14 @@ public class DPRecentItems extends DashboardPanel implements EventListener<Event
Toolbar recentItemsToolbar = new Toolbar();
this.appendChild(recentItemsToolbar);
Image imgr = new Image("/images/Refresh24.png");
Image imgr = new Image(ThemeManager.getThemeResource("images/Refresh24.png"));
recentItemsToolbar.appendChild(imgr);
imgr.setStyle("text-align: right; cursor: pointer;");
imgr.setTooltiptext(Util.cleanAmp(Msg.getMsg(ctx, "Refresh")));
imgr.addEventListener(Events.ON_CLICK, this);
//
Image img = new Image("/images/Delete24.png");
Image img = new Image(ThemeManager.getThemeResource("images/Delete24.png"));
recentItemsToolbar.appendChild(img);
img.setStyle("text-align: right;");
img.setDroppable(DELETE_RECENTITEMS_DROPPABLE);
@ -216,7 +217,7 @@ public class DPRecentItems extends DashboardPanel implements EventListener<Event
btnrecentItem.setAttribute(AD_RECENT_ITEM_ID_ATTR, String.valueOf(ri.getAD_RecentItem_ID()));
bxRecentItems.appendChild(btnrecentItem);
btnrecentItem.setLabel(label);
btnrecentItem.setImage(getIconFile());
btnrecentItem.setImage(ThemeManager.getThemeResource(getIconFile()));
btnrecentItem.setDraggable(DELETE_RECENTITEMS_DROPPABLE);
btnrecentItem.addEventListener(Events.ON_CLICK, this);
btnrecentItem.addEventListener(Events.ON_DROP, this);

View File

@ -17,6 +17,7 @@ import org.adempiere.webui.apps.AEnv;
import org.adempiere.webui.component.ToolBarButton;
import org.adempiere.webui.component.Window;
import org.adempiere.webui.panel.InfoPanel;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.window.InfoSchedule;
import org.compiere.model.MRole;
import org.compiere.util.Env;
@ -58,7 +59,7 @@ public class DPViews extends DashboardPanel implements EventListener<Event> {
ToolBarButton btnViewItem = new ToolBarButton("InfoProduct");
btnViewItem.setSclass("link");
btnViewItem.setLabel(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "InfoProduct")));
btnViewItem.setImage("/images/InfoProduct16.png");
btnViewItem.setImage(ThemeManager.getThemeResource("images/InfoProduct16.png"));
btnViewItem.addEventListener(Events.ON_CLICK, this);
vbox.appendChild(btnViewItem);
}
@ -67,7 +68,7 @@ public class DPViews extends DashboardPanel implements EventListener<Event> {
ToolBarButton btnViewItem = new ToolBarButton("InfoBPartner");
btnViewItem.setSclass("link");
btnViewItem.setLabel(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "InfoBPartner")));
btnViewItem.setImage("/images/InfoBPartner16.png");
btnViewItem.setImage(ThemeManager.getThemeResource("images/InfoBPartner16.png"));
btnViewItem.addEventListener(Events.ON_CLICK, this);
vbox.appendChild(btnViewItem);
}
@ -76,7 +77,7 @@ public class DPViews extends DashboardPanel implements EventListener<Event> {
ToolBarButton btnViewItem = new ToolBarButton("InfoAccount");
btnViewItem.setSclass("link");
btnViewItem.setLabel(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "InfoAccount")));
btnViewItem.setImage("/images/InfoAccount16.png");
btnViewItem.setImage(ThemeManager.getThemeResource("images/InfoAccount16.png"));
btnViewItem.addEventListener(Events.ON_CLICK, this);
vbox.appendChild(btnViewItem);
}
@ -85,7 +86,7 @@ public class DPViews extends DashboardPanel implements EventListener<Event> {
ToolBarButton btnViewItem = new ToolBarButton("InfoSchedule");
btnViewItem.setSclass("link");
btnViewItem.setLabel(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "InfoSchedule")));
btnViewItem.setImage("/images/InfoSchedule16.png");
btnViewItem.setImage(ThemeManager.getThemeResource("images/InfoSchedule16.png"));
btnViewItem.addEventListener(Events.ON_CLICK, this);
vbox.appendChild(btnViewItem);
}
@ -95,7 +96,7 @@ public class DPViews extends DashboardPanel implements EventListener<Event> {
ToolBarButton btnViewItem = new ToolBarButton("InfoOrder");
btnViewItem.setSclass("link");
btnViewItem.setLabel(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "InfoOrder")));
btnViewItem.setImage("/images/Info16.png");
btnViewItem.setImage(ThemeManager.getThemeResource("images/Info16.png"));
btnViewItem.addEventListener(Events.ON_CLICK, this);
vbox.appendChild(btnViewItem);
}
@ -104,7 +105,7 @@ public class DPViews extends DashboardPanel implements EventListener<Event> {
ToolBarButton btnViewItem = new ToolBarButton("InfoInvoice");
btnViewItem.setSclass("link");
btnViewItem.setLabel(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "InfoInvoice")));
btnViewItem.setImage("/images/Info16.png");
btnViewItem.setImage(ThemeManager.getThemeResource("images/Info16.png"));
btnViewItem.addEventListener(Events.ON_CLICK, this);
vbox.appendChild(btnViewItem);
}
@ -113,7 +114,7 @@ public class DPViews extends DashboardPanel implements EventListener<Event> {
ToolBarButton btnViewItem = new ToolBarButton("InfoInOut");
btnViewItem.setSclass("link");
btnViewItem.setLabel(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "InfoInOut")));
btnViewItem.setImage("/images/Info16.png");
btnViewItem.setImage(ThemeManager.getThemeResource("images/Info16.png"));
btnViewItem.addEventListener(Events.ON_CLICK, this);
vbox.appendChild(btnViewItem);
}
@ -122,7 +123,7 @@ public class DPViews extends DashboardPanel implements EventListener<Event> {
ToolBarButton btnViewItem = new ToolBarButton("InfoPayment");
btnViewItem.setSclass("link");
btnViewItem.setLabel(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "InfoPayment")));
btnViewItem.setImage("/images/Info16.png");
btnViewItem.setImage(ThemeManager.getThemeResource("images/Info16.png"));
btnViewItem.addEventListener(Events.ON_CLICK, this);
vbox.appendChild(btnViewItem);
}
@ -139,7 +140,7 @@ public class DPViews extends DashboardPanel implements EventListener<Event> {
ToolBarButton btnViewItem = new ToolBarButton("InfoAssignment");
btnViewItem.setSclass("link");
btnViewItem.setLabel(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "InfoAssignment")));
btnViewItem.setImage("/images/Info16.png");
btnViewItem.setImage(ThemeManager.getThemeResource("images/Info16.png"));
btnViewItem.addEventListener(Events.ON_CLICK, this);
vbox.appendChild(btnViewItem);
}
@ -148,7 +149,7 @@ public class DPViews extends DashboardPanel implements EventListener<Event> {
ToolBarButton btnViewItem = new ToolBarButton("InfoAsset");
btnViewItem.setSclass("link");
btnViewItem.setLabel(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "InfoAsset")));
btnViewItem.setImage("/images/Info16.png");
btnViewItem.setImage(ThemeManager.getThemeResource("images/Info16.png"));
btnViewItem.addEventListener(Events.ON_CLICK, this);
vbox.appendChild(btnViewItem);
}

View File

@ -36,6 +36,7 @@ import org.adempiere.webui.dashboard.DashboardRunnable;
import org.adempiere.webui.part.WindowContainer;
import org.adempiere.webui.report.HTMLExtension;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.window.ZkReportViewerProvider;
import org.compiere.Adempiere;
import org.compiere.model.I_AD_Menu;
@ -288,7 +289,7 @@ public class DashboardController implements EventListener<Event> {
{
//link to open performance detail
Toolbarbutton link = new Toolbarbutton();
link.setImage("/images/Zoom16.png");
link.setImage(ThemeManager.getThemeResource("images/Zoom16.png"));
link.setAttribute("PA_Goal_ID", PA_Goal_ID);
link.addEventListener(Events.ON_CLICK, new EventListener<Event>() {
public void onEvent(Event event) throws Exception {

View File

@ -44,6 +44,7 @@ import org.adempiere.webui.panel.HelpController;
import org.adempiere.webui.panel.TimeoutPanel;
import org.adempiere.webui.session.SessionContextListener;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.util.IServerPushCallback;
import org.adempiere.webui.util.ServerPushTemplate;
import org.adempiere.webui.util.UserPreference;
@ -75,12 +76,12 @@ import org.zkoss.zk.ui.event.EventQueues;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zk.ui.event.OpenEvent;
import org.zkoss.zk.ui.event.SwipeEvent;
import org.zkoss.zk.ui.metainfo.PageDefinition;
import org.zkoss.zk.ui.util.Clients;
import org.zkoss.zk.ui.util.DesktopCleanup;
import org.zkoss.zul.Borderlayout;
import org.zkoss.zul.Center;
import org.zkoss.zul.East;
import org.zkoss.zul.North;
import org.zkoss.zul.West;
/**
@ -146,35 +147,38 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria
protected Component doCreatePart(Component parent)
{
pnlHead = new HeaderPanel();
layout = new Borderlayout();
if (parent != null)
{
layout.setParent(parent);
layout.setWidth("100%");
layout.setHeight("100%");
layout.setSclass("desktop-layout");
}
else
layout.setPage(page);
PageDefinition pagedef = Executions.getCurrent().getPageDefinition(ThemeManager.getThemeResource("zul/desktop/desktop.zul"));
Component page = Executions.createComponents(pagedef, parent, null);
layout = (Borderlayout) page.getFellow("layout");
pnlHead = (HeaderPanel) page.getFellow("northBody").getFellow("header");
//
// layout = new Borderlayout();
// if (parent != null)
// {
// layout.setParent(parent);
// layout.setWidth("100%");
// layout.setHeight("100%");
// layout.setSclass("desktop-layout");
// }
// else
// layout.setPage(page);
layout.addEventListener("onZoom", this);
layout.addEventListener(DrillEvent.ON_DRILL_DOWN, this);
North n = new North();
layout.appendChild(n);
n.setCollapsible(false);
n.setSclass("desktop-north");
pnlHead.setParent(n);
// North n = new North();
// layout.appendChild(n);
// n.setCollapsible(false);
// n.setSclass("desktop-north");
// pnlHead.setParent(n);
West w = new West();
w.setId("desktop-left-column");
layout.appendChild(w);
w.setSclass("desktop-left-column");
w.setCollapsible(true);
w.setSplittable(true);
w.setHflex("1");
West w = layout.getWest();
// w.setId("desktop-left-column");
// layout.appendChild(w);
// w.setSclass("desktop-left-column");
// w.setCollapsible(true);
// w.setSplittable(true);
// w.setHflex("1");
w.addEventListener(Events.ON_OPEN, new EventListener<Event>() {
@Override
public void onEvent(Event event) throws Exception {
@ -201,13 +205,13 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria
sideController.render(w, this, false);
East e = new East();
e.setId("desktop-right-column");
layout.appendChild(e);
e.setSclass("desktop-right-column");
e.setCollapsible(true);
e.setSplittable(true);
e.setHflex("1");
East e = layout.getEast();
// e.setId("desktop-right-column");
// layout.appendChild(e);
// e.setSclass("desktop-right-column");
// e.setCollapsible(true);
// e.setSplittable(true);
// e.setHflex("1");
e.addEventListener(Events.ON_OPEN, new EventListener<Event>() {
@Override
public void onEvent(Event event) throws Exception {
@ -235,9 +239,9 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria
helpController.render(e, this);
windowArea = new Center();
windowArea.setParent(layout);
windowArea.setSclass("desktop-center");
windowArea = layout.getCenter();
// windowArea.setParent(layout);
// windowArea.setSclass("desktop-center");
windowContainer.createPart(windowArea);

View File

@ -22,7 +22,6 @@ import org.adempiere.webui.panel.ADForm;
import org.adempiere.webui.part.UIPart;
import org.compiere.model.GridField;
import org.compiere.model.MQuery;
import org.compiere.util.WebDoc;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Page;
@ -89,7 +88,7 @@ public interface IDesktop extends UIPart {
* @param string
* @param closeable
*/
public void showURL(WebDoc doc, String string, boolean closeable);
public void showHTMLContent(String content, String title, boolean closeable);
/**
*

View File

@ -34,7 +34,6 @@ import org.adempiere.webui.window.WTask;
import org.compiere.model.MQuery;
import org.compiere.model.MTask;
import org.compiere.util.Env;
import org.compiere.util.WebDoc;
import org.compiere.wf.MWorkflow;
import org.zkoss.image.AImage;
import org.zkoss.util.media.AMedia;
@ -203,15 +202,16 @@ public abstract class TabbedDesktop extends AbstractDesktop {
}
/**
* @param webDoc
* @param content
* @param title
* @param closeable
*/
public void showURL(WebDoc webDoc, String title, boolean closeable)
@Override
public void showHTMLContent(String content, String title, boolean closeable)
{
Iframe iframe = new Iframe();
AMedia media = new AMedia(title, "html", "text/html", webDoc.toString().getBytes());
AMedia media = new AMedia(title, "html", "text/html", content.getBytes());
iframe.setContent(media);
addWin(iframe, title, closeable);

View File

@ -22,6 +22,7 @@ import org.adempiere.webui.component.Combinationbox;
import org.adempiere.webui.event.ContextMenuEvent;
import org.adempiere.webui.event.ContextMenuListener;
import org.adempiere.webui.event.ValueChangeEvent;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.window.WAccountDialog;
import org.adempiere.webui.window.WFieldRecordInfo;
import org.compiere.model.GridField;
@ -52,7 +53,7 @@ public class WAccountEditor extends WEditor implements ContextMenuListener
public WAccountEditor(GridField gridField)
{
super(new Combinationbox(), gridField);
getComponent().setButtonImage("/images/Account10.png");
getComponent().setButtonImage(ThemeManager.getThemeResource("images/Account10.png"));
m_mAccount = new MAccountLookup (gridField.getVO().ctx, gridField.getWindowNo());

View File

@ -14,6 +14,7 @@ import org.adempiere.webui.event.ContextMenuEvent;
import org.adempiere.webui.event.ContextMenuListener;
import org.adempiere.webui.event.DialogEvents;
import org.adempiere.webui.event.ValueChangeEvent;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.window.InfoSchedule;
import org.adempiere.webui.window.WAssignmentDialog;
import org.adempiere.webui.window.WFieldRecordInfo;
@ -48,7 +49,7 @@ public class WAssignmentEditor extends WEditor implements ContextMenuListener {
private void initComponents() {
getComponent().getTextbox().setReadonly(true);
getComponent().setButtonImage("images/Assignment10.png");
getComponent().setButtonImage(ThemeManager.getThemeResource("images/Assignment10.png"));
popupMenu = new WEditorPopupMenu(true, false, false);
popupMenu.addMenuListener(this);

View File

@ -32,6 +32,7 @@ import org.adempiere.webui.adwindow.IADTabpanel;
import org.adempiere.webui.component.Button;
import org.adempiere.webui.event.ActionEvent;
import org.adempiere.webui.event.ActionListener;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.model.GridField;
import org.compiere.model.MLookup;
import org.compiere.model.MLookupFactory;
@ -117,26 +118,26 @@ public class WButtonEditor extends WEditor implements IProcessButton
if (columnName.equals("PaymentRule"))
{
readReference(REFERENCE_PAYMENTRULE);
getComponent().setImage("/images/Payment16.png"); // 29*14
getComponent().setImage(ThemeManager.getThemeResource("images/Payment16.png")); // 29*14
}
else if (columnName.equals("DocAction"))
{
readReference(REFERENCE_DOCUMENTACTION);
getComponent().setImage("/images/Process16.png"); // 16*16
getComponent().setImage(ThemeManager.getThemeResource("images/Process16.png")); // 16*16
}
else if (columnName.equals("CreateFrom"))
{
getComponent().setImage("/images/Copy16.png"); // 16*16
getComponent().setImage(ThemeManager.getThemeResource("images/Copy16.png")); // 16*16
}
else if (columnName.equals("Record_ID"))
{
getComponent().setImage("/images/Zoom16.png"); // 16*16
getComponent().setImage(ThemeManager.getThemeResource("images/Zoom16.png")); // 16*16
getComponent().setLabel(Msg.getMsg(Env.getCtx(), "ZoomDocument"));
}
else if (columnName.equals("Posted"))
{
readReference(REFERENCE_POSTED);
getComponent().setImage("/images/InfoAccount16.png"); // 16*16
getComponent().setImage(ThemeManager.getThemeResource("images/InfoAccount16.png")); // 16*16
}
if (gridField.getColumnName().endsWith("_ID") && !gridField.getColumnName().equals("Record_ID"))

View File

@ -34,6 +34,7 @@ import org.adempiere.webui.component.NumberBox;
import org.adempiere.webui.component.Paymentbox;
import org.adempiere.webui.event.ValueChangeEvent;
import org.adempiere.webui.event.ValueChangeListener;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.window.WFieldRecordInfo;
import org.compiere.model.GridField;
import org.compiere.model.GridTab;
@ -601,7 +602,7 @@ public abstract class WEditor implements EventListener<Event>, PropertyChangeLis
* @param popupMenu
*/
protected void addTextEditorMenu(WEditorPopupMenu popupMenu) {
Menuitem editor = new Menuitem(Msg.getMsg(Env.getCtx(), "Editor"), "images/Editor16.png");
Menuitem editor = new Menuitem(Msg.getMsg(Env.getCtx(), "Editor"), ThemeManager.getThemeResource("images/Editor16.png"));
editor.setAttribute("EVENT", WEditorPopupMenu.EDITOR_EVENT);
editor.addEventListener(Events.ON_CLICK, popupMenu);
popupMenu.appendChild(editor);

View File

@ -22,6 +22,7 @@ import java.util.ArrayList;
import org.adempiere.webui.component.Menupopup;
import org.adempiere.webui.event.ContextMenuEvent;
import org.adempiere.webui.event.ContextMenuListener;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.model.Lookup;
import org.compiere.model.MRole;
import org.compiere.util.DB;
@ -154,7 +155,7 @@ public class WEditorPopupMenu extends Menupopup implements EventListener<Event>
zoomItem = new Menuitem();
zoomItem.setAttribute(EVENT_ATTRIBUTE, ZOOM_EVENT);
zoomItem.setLabel(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "Zoom")));
zoomItem.setImage("/images/Zoom16.png");
zoomItem.setImage(ThemeManager.getThemeResource("images/Zoom16.png"));
zoomItem.addEventListener(Events.ON_CLICK, this);
this.appendChild(zoomItem);
@ -165,7 +166,7 @@ public class WEditorPopupMenu extends Menupopup implements EventListener<Event>
requeryItem = new Menuitem();
requeryItem.setAttribute(EVENT_ATTRIBUTE, REQUERY_EVENT);
requeryItem.setLabel(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "Refresh")));
requeryItem.setImage("/images/Refresh16.png");
requeryItem.setImage(ThemeManager.getThemeResource("images/Refresh16.png"));
requeryItem.addEventListener(Events.ON_CLICK, this);
this.appendChild(requeryItem);
}
@ -175,7 +176,7 @@ public class WEditorPopupMenu extends Menupopup implements EventListener<Event>
prefItem = new Menuitem();
prefItem.setAttribute(EVENT_ATTRIBUTE, PREFERENCE_EVENT);
prefItem.setLabel(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "ValuePreference")));
prefItem.setImage("/images/VPreference16.png");
prefItem.setImage(ThemeManager.getThemeResource("images/VPreference16.png"));
prefItem.addEventListener(Events.ON_CLICK, this);
this.appendChild(prefItem);
}
@ -185,7 +186,7 @@ public class WEditorPopupMenu extends Menupopup implements EventListener<Event>
newItem = new Menuitem();
newItem.setAttribute(EVENT_ATTRIBUTE, NEW_EVENT);
newItem.setLabel(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "New")));
newItem.setImage("/images/New16.png");
newItem.setImage(ThemeManager.getThemeResource("images/New16.png"));
newItem.addEventListener(Events.ON_CLICK, this);
this.appendChild(newItem);
}
@ -196,7 +197,7 @@ public class WEditorPopupMenu extends Menupopup implements EventListener<Event>
updateItem = new Menuitem();
updateItem.setAttribute(EVENT_ATTRIBUTE, UPDATE_EVENT);
updateItem.setLabel(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "Update")));
updateItem.setImage("/images/InfoBPartner16.png");
updateItem.setImage(ThemeManager.getThemeResource("images/InfoBPartner16.png"));
updateItem.addEventListener(Events.ON_CLICK, this);
this.appendChild(updateItem);
}
@ -206,7 +207,7 @@ public class WEditorPopupMenu extends Menupopup implements EventListener<Event>
showLocationItem = new Menuitem();
showLocationItem.setAttribute(EVENT_ATTRIBUTE, SHOWLOCATION_EVENT);
showLocationItem.setLabel(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "ShowLocation")));
showLocationItem.setImage("/images/InfoBPartner16.png");
showLocationItem.setImage(ThemeManager.getThemeResource("images/InfoBPartner16.png"));
showLocationItem.addEventListener(Events.ON_CLICK, this);
this.appendChild(showLocationItem);
}

View File

@ -17,6 +17,7 @@ package org.adempiere.webui.editor;
import org.adempiere.webui.component.FilenameBox;
import org.adempiere.webui.component.FolderBrowser;
import org.adempiere.webui.event.ValueChangeEvent;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.model.GridField;
import org.compiere.util.CLogger;
import org.zkoss.zk.ui.event.Event;
@ -39,7 +40,7 @@ public class WFileDirectoryEditor extends WEditor
public WFileDirectoryEditor(GridField gridField)
{
super(new FilenameBox(), gridField);
getComponent().setButtonImage("/images/Open16.png");
getComponent().setButtonImage(ThemeManager.getThemeResource("images/Open16.png"));
getComponent().addEventListener(Events.ON_CLICK, this);
getComponent().getButton().setUpload("false");
}

View File

@ -23,6 +23,7 @@ import java.util.logging.Level;
import org.adempiere.webui.component.FilenameBox;
import org.adempiere.webui.event.ValueChangeEvent;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.model.GridField;
import org.compiere.util.CLogger;
import org.zkoss.util.media.Media;
@ -46,7 +47,7 @@ public class WFilenameEditor extends WEditor
public WFilenameEditor(GridField gridField)
{
super(new FilenameBox(), gridField);
getComponent().setButtonImage("/images/Open16.png");
getComponent().setButtonImage(ThemeManager.getThemeResource("images/Open16.png"));
getComponent().addEventListener(Events.ON_UPLOAD, this);
getComponent().getButton().setUpload("true,native");
getComponent().getButton().setAttribute("org.zkoss.zul.image.preload", Boolean.TRUE);

View File

@ -28,6 +28,7 @@ import org.adempiere.webui.event.ContextMenuEvent;
import org.adempiere.webui.event.ContextMenuListener;
import org.adempiere.webui.event.DialogEvents;
import org.adempiere.webui.event.ValueChangeEvent;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.window.WFieldRecordInfo;
import org.adempiere.webui.window.WLocationDialog;
import org.compiere.model.GridField;
@ -84,7 +85,7 @@ public class WLocationEditor extends WEditor implements EventListener<Event>, Pr
private void init()
{
getComponent().setButtonImage("/images/Location10.png");
getComponent().setButtonImage(ThemeManager.getThemeResource("images/Location10.png"));
popupMenu = new WEditorPopupMenu(false, false, isShowPreference());
popupMenu.addMenuListener(this);

View File

@ -32,6 +32,7 @@ import org.adempiere.webui.event.ContextMenuEvent;
import org.adempiere.webui.event.ContextMenuListener;
import org.adempiere.webui.event.DialogEvents;
import org.adempiere.webui.event.ValueChangeEvent;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.window.WFieldRecordInfo;
import org.adempiere.webui.window.WLocatorDialog;
import org.compiere.model.GridField;
@ -93,7 +94,7 @@ public class WLocatorEditor extends WEditor implements EventListener<Event>, Pro
setColumnName(columnName);
m_mLocator = mLocator;
getComponent().setButtonImage("/images/Locator10.png");
getComponent().setButtonImage(ThemeManager.getThemeResource("images/Locator10.png"));
m_WindowNo = windowNo; //Yvonne: move it b4 setDefault_Locator_ID()
setDefault_Locator_ID(); // set default locator, teo_sarca [ 1661546 ]
@ -107,7 +108,7 @@ public class WLocatorEditor extends WEditor implements EventListener<Event>, Pro
super(new EditorBox(), gridField);
m_mLocator = (MLocatorLookup)gridField.getLookup();
getComponent().setButtonImage("/images/Locator10.png");
getComponent().setButtonImage(ThemeManager.getThemeResource("images/Locator10.png"));
setDefault_Locator_ID(); // set default locator, teo_sarca [ 1661546 ]

View File

@ -23,6 +23,7 @@ import org.adempiere.webui.event.ContextMenuEvent;
import org.adempiere.webui.event.ContextMenuListener;
import org.adempiere.webui.event.DialogEvents;
import org.adempiere.webui.event.ValueChangeEvent;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.window.WFieldRecordInfo;
import org.adempiere.webui.window.WPAttributeDialog;
import org.compiere.model.GridField;
@ -69,7 +70,7 @@ public class WPAttributeEditor extends WEditor implements ContextMenuListener
}
private void initComponents() {
getComponent().setButtonImage("images/PAttribute10.png");
getComponent().setButtonImage(ThemeManager.getThemeResource("images/PAttribute10.png"));
// getComponent().addEventListener(Events.ON_CLICK, this); // IDEMPIERE-426 - dup listener, already set at WEditor
m_WindowNo = gridField.getWindowNo();

View File

@ -24,6 +24,7 @@ import org.adempiere.webui.component.Paymentbox;
import org.adempiere.webui.component.Window;
import org.adempiere.webui.event.DialogEvents;
import org.adempiere.webui.event.ValueChangeEvent;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.grid.IPaymentForm;
import org.compiere.model.GridField;
import org.compiere.model.GridTab;
@ -64,7 +65,7 @@ public class WPaymentEditor extends WEditor implements ListDataListener {
getComponent().getCombobox().setAutocomplete(true);
getComponent().getCombobox().setAutodrop(true);
getComponent().getCombobox().addEventListener(Events.ON_BLUR, this);
getComponent().setButtonImage("/images/Payment10.png");
getComponent().setButtonImage(ThemeManager.getThemeResource("images/Payment10.png"));
getComponent().getButton().addActionListener(this);
if (lookup != null)

View File

@ -41,6 +41,7 @@ import org.adempiere.webui.factory.InfoManager;
import org.adempiere.webui.grid.WQuickEntry;
import org.adempiere.webui.panel.InfoPanel;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.window.WFieldRecordInfo;
import org.compiere.model.GridField;
import org.compiere.model.GridTab;
@ -162,16 +163,16 @@ public class WSearchEditor extends WEditor implements ContextMenuListener, Value
{
columnName = this.getColumnName();
imageUrl = "/images/PickOpen10.png";
imageUrl = ThemeManager.getThemeResource("images/PickOpen10.png");
if (columnName.equals("C_BPartner_ID"))
{
popupMenu = new WEditorPopupMenu(true, true, isShowPreference(), true, true, false, lookup);
imageUrl = "/images/BPartner10.png";
imageUrl = ThemeManager.getThemeResource("images/BPartner10.png");
}
else if (columnName.equals("M_Product_ID"))
{
popupMenu = new WEditorPopupMenu(true, true, isShowPreference(), false, false, false, lookup);
imageUrl = "/images/Product10.png";
imageUrl = ThemeManager.getThemeResource("images/Product10.png");
}
else
{

View File

@ -34,6 +34,7 @@ import org.adempiere.webui.event.ValueChangeEvent;
import org.adempiere.webui.exception.ApplicationException;
import org.adempiere.webui.grid.WQuickEntry;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.window.WFieldRecordInfo;
import org.adempiere.webui.window.WLocationDialog;
import org.compiere.model.GridField;
@ -203,7 +204,7 @@ ContextMenuListener, IZoomableEditor
searchMode = new Menuitem();
searchMode.setAttribute(WEditorPopupMenu.EVENT_ATTRIBUTE, SHORT_LIST_EVENT);
searchMode.setLabel(Msg.getMsg(Env.getCtx(), "ShortListSwitchSearchMode"));
searchMode.setImage("/images/Lock16.png");
searchMode.setImage(ThemeManager.getThemeResource("images/Lock16.png"));
searchMode.addEventListener(Events.ON_CLICK, popupMenu);
popupMenu.appendChild(searchMode);
}

View File

@ -22,6 +22,7 @@ import org.adempiere.webui.component.Urlbox;
import org.adempiere.webui.event.ContextMenuEvent;
import org.adempiere.webui.event.ContextMenuListener;
import org.adempiere.webui.event.ValueChangeEvent;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.window.FDialog;
import org.adempiere.webui.window.WFieldRecordInfo;
import org.compiere.model.GridField;
@ -37,7 +38,7 @@ public class WUrlEditor extends WEditor implements ContextMenuListener
public WUrlEditor(GridField gridField)
{
super(new Urlbox(), gridField);
getComponent().setButtonImage("/images/Online10.png");
getComponent().setButtonImage(ThemeManager.getThemeResource("images/Online10.png"));
popupMenu = new WEditorPopupMenu(false, false, isShowPreference());
popupMenu.addMenuListener(this);

View File

@ -19,6 +19,7 @@ import org.adempiere.webui.component.Button;
import org.adempiere.webui.editor.WEditor;
import org.adempiere.webui.event.DialogEvents;
import org.adempiere.webui.panel.InfoPAttributePanel;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.model.GridField;
import org.compiere.util.Env;
import org.compiere.util.Msg;
@ -45,7 +46,7 @@ public class WInfoPAttributeEditor extends WEditor implements IWhereClauseEditor
this.ctx = ctx;
this.windowNo = windowNo;
getComponent().addEventListener(Events.ON_CLICK, this);
getComponent().setImage("/images/PAttribute16.png");
getComponent().setImage(ThemeManager.getThemeResource("images/PAttribute16.png"));
getComponent().setTooltiptext(Msg.getMsg(Env.getCtx(), "PAttribute"));
setReadWrite(false);
}

View File

@ -24,6 +24,7 @@ import org.adempiere.util.Callback;
import org.adempiere.webui.adwindow.ADWindow;
import org.adempiere.webui.exception.ApplicationException;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.model.GridTab;
import org.compiere.model.MMenu;
import org.compiere.model.MQuery;
@ -206,35 +207,35 @@ public abstract class AbstractMenuPanel extends Panel implements EventListener<E
if (mChildNode.isReport())
{
link.setImage("/images/mReport.png");
link.setImage(ThemeManager.getThemeResource("images/mReport.png"));
treeitem.setAttribute("menu.type", "report");
}
else if (mChildNode.isProcess() || mChildNode.isTask())
{
link.setImage("/images/mProcess.png");
link.setImage(ThemeManager.getThemeResource("images/mProcess.png"));
treeitem.setAttribute("menu.type", "process");
}
else if (mChildNode.isWorkFlow())
{
link.setImage("/images/mWorkFlow.png");
link.setImage(ThemeManager.getThemeResource("images/mWorkFlow.png"));
treeitem.setAttribute("menu.type", "workflow");
}
else if (mChildNode.isForm())
{
link.setImage("/images/mWindow.png");
link.setImage(ThemeManager.getThemeResource("images/mWindow.png"));
treeitem.setAttribute("menu.type", "form");
}
else if (mChildNode.isInfo())
{
link.setImage("/images/mWindow.png");
link.setImage(ThemeManager.getThemeResource("images/mWindow.png"));
treeitem.setAttribute("menu.type", "info");
}
else // Window
{
link.setImage("/images/mWindow.png");
link.setImage(ThemeManager.getThemeResource("images/mWindow.png"));
treeitem.setAttribute("menu.type", "window");
Toolbarbutton newBtn = new Toolbarbutton(null, "/images/New10.png");
Toolbarbutton newBtn = new Toolbarbutton(null, ThemeManager.getThemeResource("images/New10.png"));
newBtn.setStyle("padding-left:3px; margin-bottom:5px");
treeCell.appendChild(newBtn);
newBtn.addEventListener(Events.ON_CLICK, this);

View File

@ -38,6 +38,7 @@ import org.adempiere.webui.component.ListItem;
import org.adempiere.webui.component.Listbox;
import org.adempiere.webui.component.Panel;
import org.adempiere.webui.component.SimpleListModel;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.window.FDialog;
import org.compiere.model.GridTab;
import org.compiere.util.CLogger;
@ -161,10 +162,10 @@ public class CustomizeGridViewPanel extends Panel
yesModel.setMultiple(true);
noModel.setMultiple(true);
bAdd.setImage("images/Next24.png");
bAdd.setImage(ThemeManager.getThemeResource("images/Next24.png"));
bAdd.addEventListener(Events.ON_CLICK, actionListener);
bRemove.setImage("images/Previous24.png");
bRemove.setImage(ThemeManager.getThemeResource("images/Previous24.png"));
bRemove.addEventListener(Events.ON_CLICK, actionListener);
EventListener<Event> crossListMouseListener = new DragListener();
@ -180,10 +181,10 @@ public class CustomizeGridViewPanel extends Panel
}
};
bUp.setImage("images/Parent24.png");
bUp.setImage(ThemeManager.getThemeResource("images/Parent24.png"));
bUp.addEventListener(Events.ON_CLICK, actionListener);
bDown.setImage("images/Detail24.png");
bDown.setImage(ThemeManager.getThemeResource("images/Detail24.png"));
bDown.addEventListener(Events.ON_CLICK, actionListener);
ListHead listHead = new ListHead();
@ -245,7 +246,7 @@ public class CustomizeGridViewPanel extends Panel
@SuppressWarnings("unused")
String label = Msg.getMsg(Env.getCtx(), "save");
Button bOK = new Button();
bOK.setImage("/images/Ok16.png");
bOK.setImage(ThemeManager.getThemeResource("images/Ok16.png"));
bOK.setId("Ok");
EventListener<Event> onClickListener = new EventListener<Event>()
{
@ -264,7 +265,7 @@ public class CustomizeGridViewPanel extends Panel
southPanel.appendChild(bOK);
label = Msg.getMsg(Env.getCtx(), "Cancel");
Button btn = new Button();
btn.setImage("/images/Cancel16.png");
btn.setImage(ThemeManager.getThemeResource("images/Cancel16.png"));
btn.setId("Cancel");
EventListener<Event> onClickCancelListener = new EventListener<Event>()
{

View File

@ -17,24 +17,20 @@
package org.adempiere.webui.panel;
import org.adempiere.webui.LayoutUtils;
import org.adempiere.webui.component.Panel;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.window.AboutWindow;
import org.compiere.util.Env;
import org.compiere.util.Msg;
import org.compiere.util.Util;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Page;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zul.Borderlayout;
import org.zkoss.zul.Button;
import org.zkoss.zul.Center;
import org.zkoss.zul.Hbox;
import org.zkoss.zul.Image;
import org.zkoss.zul.Popup;
import org.zkoss.zul.West;
/**
*
@ -56,35 +52,21 @@ public class HeaderPanel extends Panel implements EventListener<Event>
public HeaderPanel()
{
super();
init();
addEventListener(Events.ON_CREATE, this);
}
private void init()
private void onCreate()
{
LayoutUtils.addSclass("desktop-header", this);
UserPanel userPanel = new UserPanel();
image = new Image(ThemeManager.getSmallLogo());
image = (Image) getFellow("logo");
image.setSrc(ThemeManager.getSmallLogo());
image.addEventListener(Events.ON_CLICK, this);
image.setStyle("cursor: pointer;");
Borderlayout layout = new Borderlayout();
LayoutUtils.addSclass("desktop-header", layout);
layout.setParent(this);
West west = new West();
west.setWidth("50%");
west.setParent(layout);
Hbox hbox = new Hbox();
hbox.setParent(west);
hbox.setHeight("100%");
hbox.setPack("center");
hbox.setAlign("left");
image.setParent(hbox);
new MenuSearchPanel(this).setParent(hbox);
MenuSearchPanel menuSearchPanel = new MenuSearchPanel(this);
Component stub = getFellow("menuLookup");
stub.getParent().insertBefore(menuSearchPanel, stub);
stub.detach();
menuSearchPanel.setId("menuLookup");
popMenu = new Popup();
popMenu.setId("menuTreePopup");
@ -92,24 +74,11 @@ public class HeaderPanel extends Panel implements EventListener<Event>
popMenu.setSclass("desktop-menu-popup");
popMenu.setHeight("90%");
popMenu.setWidth("600px");
popMenu.setPage(this.getPage());
btnMenu = new Button();
btnMenu = (Button) getFellow("menuButton");
btnMenu.setLabel(Util.cleanAmp(Msg.getMsg(Env.getCtx(),"Menu")));
btnMenu.setParent(hbox);
btnMenu.addEventListener(Events.ON_CLICK, this);
LayoutUtils.addSclass("desktop-header-left", west);
// Elaine 2009/03/02
Center center = new Center();
center.setParent(layout);
userPanel.setParent(center);
userPanel.setHeight("100%");
userPanel.setAlign("right");
userPanel.setStyle("position: absolute; text-align:right;");
userPanel.setVflex("1");
userPanel.setHflex("1");
LayoutUtils.addSclass("desktop-header-right", center);
}
public void onEvent(Event event) throws Exception {
@ -124,6 +93,8 @@ public class HeaderPanel extends Panel implements EventListener<Event>
{
popMenu.open(btnMenu, "after_start");
}
} else if (Events.ON_CREATE.equals(event.getName())) {
onCreate();
}
}
@ -133,7 +104,7 @@ public class HeaderPanel extends Panel implements EventListener<Event>
@Override
public void onPageAttached(Page newpage, Page oldpage) {
super.onPageAttached(newpage, oldpage);
if (newpage != null)
if (newpage != null && popMenu != null)
popMenu.setPage(newpage);
}

View File

@ -36,6 +36,7 @@ import org.adempiere.webui.editor.WSearchEditor;
import org.adempiere.webui.event.ValueChangeEvent;
import org.adempiere.webui.event.ValueChangeListener;
import org.adempiere.webui.event.WTableModelEvent;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.minigrid.ColumnInfo;
import org.compiere.minigrid.IDColumn;
import org.compiere.model.MLookupFactory;
@ -176,7 +177,7 @@ public class InfoAssignmentPanel extends InfoPanel implements EventListener<Even
return false;
}
bNew.setImage("/images/New16.png");
bNew.setImage(ThemeManager.getThemeResource("images/New16.png"));
return true;
} // initLookups

View File

@ -64,6 +64,7 @@ import org.adempiere.webui.component.Textbox;
import org.adempiere.webui.component.WListbox;
import org.adempiere.webui.event.DialogEvents;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.minigrid.ColumnInfo;
import org.compiere.minigrid.IDColumn;
import org.compiere.model.MDocType;
@ -262,7 +263,7 @@ public class InfoProductPanel extends InfoPanel implements EventListener<Event>
lblVendor = new Label();
lblVendor.setValue(Msg.translate(Env.getCtx(), "Vendor"));
m_InfoPAttributeButton.setImage("/images/PAttribute16.png");
m_InfoPAttributeButton.setImage(ThemeManager.getThemeResource("images/PAttribute16.png"));
m_InfoPAttributeButton.setTooltiptext(Msg.getMsg(Env.getCtx(), "PAttribute"));
m_InfoPAttributeButton.addEventListener(Events.ON_CLICK,this);

View File

@ -1,49 +0,0 @@
/******************************************************************************
* Product: Posterita Ajax UI *
* Copyright (C) 2007 Posterita Ltd. All Rights Reserved. *
* This program is free software; you can redistribute it and/or modify it *
* under the terms version 2 of the GNU General Public License as published *
* by the Free Software Foundation. This program is distributed in the hope *
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU General Public License for more details. *
* You should have received a copy of the GNU General Public License along *
* with this program; if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
* For the text or an alternative of this public license, you may reach us *
* Posterita Ltd., 3, Draper Avenue, Quatre Bornes, Mauritius *
* or via info@posterita.org or http://www.posterita.org/ *
*****************************************************************************/
package org.adempiere.webui.panel;
import org.adempiere.webui.component.Panel;
import org.zkoss.zul.Image;
/**
*
* @author <a href="mailto:agramdass@gmail.com">Ashley G Ramdass</a>
* @date Mar 1, 2007
* @version $Revision: 0.10 $
*/
public class LogoPanel extends Panel
{
/**
*
*/
private static final long serialVersionUID = -3908377845468033243L;
private Image imgLogo;
public LogoPanel()
{
super();
init();
}
private void init()
{
imgLogo = new Image("/images/logo.png");
this.appendChild(imgLogo);
this.setWidth("250px");
}
}

View File

@ -1,64 +0,0 @@
/******************************************************************************
* Product: Posterita Ajax UI *
* Copyright (C) 2007 Posterita Ltd. All Rights Reserved. *
* This program is free software; you can redistribute it and/or modify it *
* under the terms version 2 of the GNU General Public License as published *
* by the Free Software Foundation. This program is distributed in the hope *
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU General Public License for more details. *
* You should have received a copy of the GNU General Public License along *
* with this program; if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
* For the text or an alternative of this public license, you may reach us *
* Posterita Ltd., 3, Draper Avenue, Quatre Bornes, Mauritius *
* or via info@posterita.org or http://www.posterita.org/ *
*****************************************************************************/
package org.adempiere.webui.panel;
import org.adempiere.webui.component.Panel;
import org.adempiere.webui.session.SessionManager;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zul.Button;
/**
*
* @author <a href="mailto:agramdass@gmail.com">Ashley G Ramdass</a>
* @date Mar 2, 2007
* @version $Revision: 0.10 $
*/
public class LogoutPanel extends Panel implements EventListener<Event>
{
/**
*
*/
private static final long serialVersionUID = -456860093240111236L;
private Button btnLogOut;
public LogoutPanel()
{
super();
init();
}
private void init()
{
btnLogOut = new Button();
btnLogOut.setImage("/images/Logout24.png");
btnLogOut.addEventListener(Events.ON_CLICK, this);
this.appendChild(btnLogOut);
}
public void onEvent(Event event)
{
if (btnLogOut == event.getTarget())
{
SessionManager.logoutSession();
}
}
}

View File

@ -1,332 +0,0 @@
/******************************************************************************
* Product: Posterita Ajax UI *
* Copyright (C) 2007 Posterita Ltd. All Rights Reserved. *
* This program is free software; you can redistribute it and/or modify it *
* under the terms version 2 of the GNU General Public License as published *
* by the Free Software Foundation. This program is distributed in the hope *
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU General Public License for more details. *
* You should have received a copy of the GNU General Public License along *
* with this program; if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
* For the text or an alternative of this public license, you may reach us *
* Posterita Ltd., 3, Draper Avenue, Quatre Bornes, Mauritius *
* or via info@posterita.org or http://www.posterita.org/ *
*****************************************************************************/
package org.adempiere.webui.panel;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Properties;
import org.adempiere.webui.component.ToolBarButton;
import org.adempiere.webui.event.MenuListener;
import org.adempiere.webui.exception.ApplicationException;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.util.TreeUtils;
import org.compiere.model.MTree;
import org.compiere.model.MTreeNode;
import org.compiere.model.MUser;
import static org.compiere.model.SystemIDs.*;
import org.compiere.util.DB;
import org.compiere.util.Env;
import org.compiere.util.Msg;
import org.compiere.util.Util;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zk.ui.util.Clients;
import org.zkoss.zul.A;
import org.zkoss.zul.Panel;
import org.zkoss.zul.Panelchildren;
import org.zkoss.zul.Style;
import org.zkoss.zul.Toolbar;
import org.zkoss.zul.Tree;
import org.zkoss.zul.Treecell;
import org.zkoss.zul.Treechildren;
import org.zkoss.zul.Treecol;
import org.zkoss.zul.Treecols;
import org.zkoss.zul.Treeitem;
import org.zkoss.zul.Treerow;
/**
*
* @author <a href="mailto:agramdass@gmail.com">Ashley G Ramdass</a>
* @date Feb 25, 2007
* @version $Revision: 0.10 $
*/
public class MenuPanel extends Panel implements EventListener<Event>
{
private static final String ON_EXPAND_MENU_EVENT = "onExpandMenu";
/**
*
*/
private static final long serialVersionUID = -593280866781665891L;
private Properties ctx;
private TreeSearchPanel pnlSearch;
private Tree menuTree;
private ArrayList<MenuListener> menuListeners = new ArrayList<MenuListener>();
private ToolBarButton expandToggle;
public MenuPanel(Component parent)
{
if (parent != null)
this.setParent(parent);
init();
}
private void init() {
ctx = Env.getCtx();
int adRoleId = Env.getAD_Role_ID(ctx);
int adTreeId = getTreeId(ctx, adRoleId);
MTree mTree = new MTree(ctx, adTreeId, false, true, null);
MTreeNode rootNode = mTree.getRoot();
initComponents();
initMenu(rootNode);
pnlSearch.initialise();
// Auto Expand Tree - nmicoud IDEMPIERE 195
if (MUser.get(ctx).isMenuAutoExpand())
expandAll();
// Auto Expand Tree - nmicoud IDEMPIERE 195
}
private void initComponents()
{
this.setWidth("100%");
this.setHeight("100%");
this.setStyle("position: relative");
menuTree = new Tree();
menuTree.setMultiple(false);
menuTree.setId("mnuMain");
menuTree.setWidth("100%");
menuTree.setVflex(true);
menuTree.setSizedByContent(false);
menuTree.setPageSize(-1); // Due to bug in the new paging functionality
menuTree.setStyle("border: none");
pnlSearch = new TreeSearchPanel(menuTree);
Style style = new Style();
style.setContent(".z-comboitem-img{ vertical-align:top; padding-right:2px; padding-bottom:4px; }");
pnlSearch.insertBefore(style, pnlSearch.getFirstChild());
Toolbar toolbar = new Toolbar();
toolbar.setMold("panel");
toolbar.appendChild(pnlSearch);
this.appendChild(toolbar);
Panelchildren pc = new Panelchildren();
this.appendChild(pc);
pc.appendChild(menuTree);
// Elaine 2009/02/27 - expand tree
toolbar = new Toolbar();
toolbar.setStyle("verticle-align: middle; padding: 2px");
expandToggle = new ToolBarButton();
expandToggle.setLabel(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "ExpandTree")));
expandToggle.setMode("toggle");
expandToggle.addEventListener(Events.ON_CHECK, this);
toolbar.appendChild(expandToggle);
toolbar.setMold("panel");
this.appendChild(toolbar);
this.addEventListener(ON_EXPAND_MENU_EVENT, this);
}
private void initMenu(MTreeNode rootNode)
{
Treecols treeCols = new Treecols();
Treecol treeCol = new Treecol();
Treechildren rootTreeChildren = new Treechildren();
treeCols.appendChild(treeCol);
menuTree.appendChild(treeCols);
menuTree.appendChild(rootTreeChildren);
generateMenu(rootTreeChildren, rootNode);
}
private int getTreeId(Properties ctx, int adRoleId)
{
int AD_Tree_ID = DB.getSQLValue(null,
"SELECT COALESCE(r.AD_Tree_Menu_ID, ci.AD_Tree_Menu_ID)"
+ "FROM AD_ClientInfo ci"
+ " INNER JOIN AD_Role r ON (ci.AD_Client_ID=r.AD_Client_ID) "
+ "WHERE AD_Role_ID=?", adRoleId);
if (AD_Tree_ID <= 0)
AD_Tree_ID = TREE_MENUPRIMARY; // Menu
return AD_Tree_ID;
}
private void generateMenu(Treechildren treeChildren, MTreeNode mNode)
{
Enumeration<?> nodeEnum = mNode.children();
while(nodeEnum.hasMoreElements())
{
MTreeNode mChildNode = (MTreeNode)nodeEnum.nextElement();
Treeitem treeitem = new Treeitem();
treeChildren.appendChild(treeitem);
treeitem.setTooltiptext(mChildNode.getDescription());
if(mChildNode.getChildCount() != 0)
{
treeitem.setOpen(false);
treeitem.setLabel(mChildNode.getName());
Treecell cell = (Treecell)treeitem.getTreerow().getFirstChild();
cell.setSclass("menu-treecell-cnt");
Treechildren treeItemChildren = new Treechildren();
treeitem.appendChild(treeItemChildren);
generateMenu(treeItemChildren, mChildNode);
if (treeItemChildren.getChildren().size() == 0)
{
treeItemChildren.detach();
}
treeitem.getTreerow().addEventListener(Events.ON_CLICK, this);
}
else
{
treeitem.setValue(String.valueOf(mChildNode.getNode_ID()));
Treerow treeRow = new Treerow();
treeitem.appendChild(treeRow);
Treecell treeCell = new Treecell();
treeRow.appendChild(treeCell);
A link = new A();
treeCell.appendChild(link);
if (mChildNode.isReport())
link.setImage("/images/mReport.png");
else if (mChildNode.isProcess() || mChildNode.isTask())
link.setImage("/images/mProcess.png");
else if (mChildNode.isWorkFlow())
link.setImage("/images/mWorkFlow.png");
else
link.setImage("/images/mWindow.png");
link.setLabel(mChildNode.getName());
treeitem.getTreerow().setDraggable("favourite"); // Elaine 2008/07/24
link.addEventListener(Events.ON_CLICK, this);
link.setSclass("menu-href");
}
}
}
public void addMenuListener(MenuListener menuListener)
{
menuListeners.add(menuListener);
}
public void removeMenuListener(MenuListener menuListener)
{
menuListeners.remove(menuListener);
}
public void onEvent(Event event)
{
Component comp = event.getTarget();
String eventName = event.getName();
if (eventName.equals(Events.ON_CLICK))
{
doOnClick(comp);
}
// Elaine 2009/02/27 - expand tree
else if (eventName.equals(Events.ON_CHECK) && event.getTarget() == expandToggle)
{
Clients.showBusy(null);
Events.echoEvent(ON_EXPAND_MENU_EVENT, this, null);
}
else if (eventName.equals(ON_EXPAND_MENU_EVENT))
{
expandOnCheck();
Clients.clearBusy();
}
//
}
private void doOnClick(Component comp) {
if (comp instanceof A) {
comp = comp.getParent().getParent();
}
if (comp instanceof Treerow)
{
Treeitem selectedItem = (Treeitem) comp.getParent();
if(selectedItem.getValue() != null)
{
fireMenuSelectedEvent(selectedItem);
}
else
{
selectedItem.setOpen(!selectedItem.isOpen());
}
selectedItem.setSelected(true);
}
}
protected void fireMenuSelectedEvent(Treeitem selectedItem) {
int nodeId = Integer.parseInt((String)selectedItem.getValue());
try
{
/*Iterator<MenuListener> menuListenersIter = menuListeners.iterator();
while(menuListenersIter.hasNext())
{
menuListenersIter.next().onMenuSelected(nodeId);
menuTree.setSelectedItem(null);
}*/
SessionManager.getAppDesktop().onMenuSelected(nodeId);
}
catch (Exception e)
{
throw new ApplicationException(e.getMessage(), e);
}
}
public Tree getMenuTree()
{
return menuTree;
}
/**
* expand all node
*/
public void expandAll()
{
if (!expandToggle.isChecked())
expandToggle.setChecked(true);
TreeUtils.expandAll(menuTree);
}
/**
* collapse all node
*/
public void collapseAll()
{
if (expandToggle.isChecked())
expandToggle.setChecked(false);
TreeUtils.collapseAll(menuTree);
}
/**
* On check event for the expand checkbox
*/
private void expandOnCheck()
{
if (expandToggle.isChecked())
expandAll();
else
collapseAll();
}
//
}

View File

@ -1,5 +1,6 @@
package org.adempiere.webui.panel;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.util.TreeItemAction;
import org.adempiere.webui.util.TreeUtils;
import org.compiere.util.Env;
@ -34,28 +35,28 @@ public class MenuTreeFilterPanel extends Popup implements EventListener<Event>,
Vbox box = new Vbox();
Checkbox report = new Checkbox();
report.setImage("/images/mReport.png");
report.setImage(ThemeManager.getThemeResource("images/mReport.png"));
report.setChecked(true);
report.setId("report");
report.addEventListener(Events.ON_CHECK, this);
box.appendChild(report);
Checkbox process = new Checkbox();
process.setImage("/images/mProcess.png");
process.setImage(ThemeManager.getThemeResource("images/mProcess.png"));
process.setChecked(true);
process.setId("process");
process.addEventListener(Events.ON_CHECK, this);
box.appendChild(process);
Checkbox workflow = new Checkbox();
workflow.setImage("/images/mWorkFlow.png");
workflow.setImage(ThemeManager.getThemeResource("images/mWorkFlow.png"));
workflow.setChecked(true);
workflow.setId("workflow");
workflow.addEventListener(Events.ON_CHECK, this);
box.appendChild(workflow);
Checkbox window = new Checkbox();
window.setImage("/images/mWindow.png");
window.setImage(ThemeManager.getThemeResource("images/mWindow.png"));
window.setChecked(true);
window.setId("window");
window.addEventListener(Events.ON_CHECK, this);

View File

@ -15,6 +15,7 @@
package org.adempiere.webui.panel;
import org.adempiere.webui.component.ToolBarButton;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.util.TreeUtils;
import org.compiere.model.MUser;
import org.compiere.util.Env;
@ -105,7 +106,7 @@ public class MenuTreePanel extends AbstractMenuPanel
pc.appendChild(filterPanel);
filterBtn = new Toolbarbutton();
filterBtn.setImage("/images/Preference16.png");
filterBtn.setImage(ThemeManager.getThemeResource("images/Preference16.png"));
filterBtn.addEventListener(Events.ON_CLICK, this);
toolbar.appendChild(filterBtn);
}

View File

@ -16,6 +16,7 @@ package org.adempiere.webui.panel;
import java.util.ArrayList;
import java.util.List;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.util.TreeItemAction;
import org.adempiere.webui.util.TreeNodeAction;
import org.adempiere.webui.util.TreeUtils;
@ -71,7 +72,7 @@ public class MenuTreeSearchPanel extends TreeSearchPanel {
hlayout.setSclass("menu-search-toggle-box");
newBtn = new Toolbarbutton();
newBtn.setImage("/images/New16.png");
newBtn.setImage(ThemeManager.getThemeResource("images/New16.png"));
newBtn.setSclass("menu-search-toggle-off");
newBtn.addEventListener(Events.ON_CLICK, new EventListener<Event>() {
@Override
@ -87,7 +88,7 @@ public class MenuTreeSearchPanel extends TreeSearchPanel {
newBtn.setTooltiptext(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "New")));
openBtn = new Toolbarbutton();
openBtn.setImage("/images/Open16.png");
openBtn.setImage(ThemeManager.getThemeResource("images/Open16.png"));
openBtn.setSclass("menu-search-toggle-on");
openBtn.setDisabled(true);
openBtn.addEventListener(Events.ON_CLICK, new EventListener<Event>() {
@ -154,7 +155,7 @@ public class MenuTreeSearchPanel extends TreeSearchPanel {
String image = getImage(treeItem);
if (image == null || image.length() == 0)
{
image = "/images/Folder16.png";
image = ThemeManager.getThemeResource("images/Folder16.png");
}
imageList.add(image);
}

View File

@ -1,56 +0,0 @@
/******************************************************************************
* Product: Posterita Ajax UI *
* Copyright (C) 2007 Posterita Ltd. All Rights Reserved. *
* This program is free software; you can redistribute it and/or modify it *
* under the terms version 2 of the GNU General Public License as published *
* by the Free Software Foundation. This program is distributed in the hope *
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU General Public License for more details. *
* You should have received a copy of the GNU General Public License along *
* with this program; if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
* For the text or an alternative of this public license, you may reach us *
* Posterita Ltd., 3, Draper Avenue, Quatre Bornes, Mauritius *
* or via info@posterita.org or http://www.posterita.org/ *
*****************************************************************************/
package org.adempiere.webui.panel;
import org.adempiere.webui.component.Panel;
import org.zkoss.zk.ui.Component;
/**
*
* @author <a href="mailto:agramdass@gmail.com">Ashley G Ramdass</a>
* @date Mar 2, 2007
* @version $Revision: 0.10 $
*/
public class SidePanel extends Panel
{
/**
*
*/
private static final long serialVersionUID = -3039805384016666481L;
private MenuPanel pnlMenu;
public SidePanel(Component parent)
{
setParent(parent);
init();
}
private void init()
{
pnlMenu = new MenuPanel(this);
this.setWidth("100%");
this.setHeight("100%");
this.setStyle("position: relative");
}
public MenuPanel getMenuPanel()
{
return pnlMenu;
}
}

View File

@ -25,6 +25,7 @@ import org.adempiere.webui.apps.AEnv;
import org.adempiere.webui.component.AutoComplete;
import org.adempiere.webui.component.Label;
import org.adempiere.webui.component.Panel;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.util.DocumentSearch;
import org.adempiere.webui.util.TreeItemAction;
import org.adempiere.webui.util.TreeNodeAction;
@ -233,7 +234,7 @@ public class TreeSearchPanel extends Panel implements EventListener<Event>, Tree
treeImages[i] = getImage(treeItem);
if ((treeImages[i] == null || treeImages[i].trim().length() == 0) && isFolder(treeItem))
{
treeImages[i] = "/images/Folder16.png";
treeImages[i] = ThemeManager.getThemeResource("images/Folder16.png");
}
}
else if (value instanceof DefaultTreeNode)

View File

@ -19,7 +19,6 @@ package org.adempiere.webui.panel;
import java.util.Properties;
import org.adempiere.webui.LayoutUtils;
import org.adempiere.webui.component.Label;
import org.adempiere.webui.component.Menupopup;
import org.adempiere.webui.component.Messagebox;
@ -37,9 +36,7 @@ import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zk.ui.event.KeyEvent;
import org.zkoss.zul.Hbox;
import org.zkoss.zul.Menuitem;
import org.zkoss.zul.Separator;
import org.zkoss.zul.Vbox;
/**
@ -71,71 +68,30 @@ public class UserPanel extends Vbox implements EventListener<Event>
{
super();
this.ctx = Env.getCtx();
init();
addEventListener(Events.ON_CREATE, this);
}
private void init()
private void onCreate()
{
this.setSclass("desktop-user-panel");
Vbox vbox = new Vbox();
this.appendChild(vbox);
lblUserNameValue = (Label) getFellow("loginUserAndRole");
lblUserNameValue.setValue(getUserName() + "@" + getClientName() + "." + getOrgName()+"/"+this.getRoleName());
lblUserNameValue.setStyle("cursor: pointer;");
lblUserNameValue.addEventListener(Events.ON_CLICK, this);
lblUserNameValue.setId("loginUserAndRole");
LayoutUtils.addSclass("desktop-header-font", lblUserNameValue);
LayoutUtils.addSclass("desktop-header-username", lblUserNameValue);
vbox.appendChild(lblUserNameValue);
Hbox hbox = new Hbox();
vbox.appendChild(hbox);
hbox.setAlign("center");
feedback = (ToolBarButton) getFellow("feedback");
feedback.setLabel(Msg.getMsg(Env.getCtx(), "Feedback"));
feedback.setId("feedback");
feedback.addEventListener(Events.ON_CLICK, this);
LayoutUtils.addSclass("desktop-header-font", feedback);
LayoutUtils.addSclass("link", feedback);
feedback.setParent(hbox);
Separator sep = new Separator("vertical");
sep.setBar(true);
sep.setHeight("13px");
sep.setParent(hbox);
preference = (ToolBarButton) getFellow("preference");
preference.setLabel(Msg.getMsg(Env.getCtx(), "Preference"));
preference.setId("preference");
preference.addEventListener(Events.ON_CLICK, this);
LayoutUtils.addSclass("desktop-header-font", preference);
LayoutUtils.addSclass("link", preference);
preference.setParent(hbox);
sep = new Separator("vertical");
sep.setBar(true);
sep.setHeight("13px");
sep.setParent(hbox);
changeRole = (ToolBarButton) getFellow("changeRole");
changeRole.setLabel(Msg.getMsg(Env.getCtx(), "changeRole"));
changeRole.setId("changeRole");
changeRole.addEventListener(Events.ON_CLICK, this);
LayoutUtils.addSclass("desktop-header-font", changeRole);
LayoutUtils.addSclass("link", changeRole);
changeRole.setParent(hbox);
sep = new Separator("vertical");
sep.setBar(true);
sep.setHeight("13px");
sep.setParent(hbox);
logout = (ToolBarButton) getFellow("logout");
logout.setLabel(Msg.getMsg(Env.getCtx(),"Logout"));
logout.setId("logout");
logout.addEventListener(Events.ON_CLICK, this);
LayoutUtils.addSclass("desktop-header-font", logout);
LayoutUtils.addSclass("link", logout);
logout.setParent(hbox);
feedbackMenu = new Menupopup();
Menuitem mi = new Menuitem(Msg.getMsg(Env.getCtx(), "RequestNew"));
@ -248,6 +204,10 @@ public class UserPanel extends Vbox implements EventListener<Event>
}
}
}
else if (Events.ON_CREATE.equals(event.getName()))
{
onCreate();
}
}
}

View File

@ -35,6 +35,7 @@ import org.adempiere.webui.component.Panel;
import org.adempiere.webui.component.Textbox;
import org.adempiere.webui.component.Window;
import org.adempiere.webui.event.DialogEvents;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.window.FDialog;
import org.compiere.model.MAttachment;
import org.compiere.model.MAttachmentEntry;
@ -246,18 +247,18 @@ public class WAttachment extends Window implements EventListener<Event>
bSave.setEnabled(false);
bSave.setSclass("action-button");
bSave.setImage("/images/Export24.png");
bSave.setImage(ThemeManager.getThemeResource("images/Export24.png"));
bSave.setTooltiptext(Msg.getMsg(Env.getCtx(), "AttachmentSave"));
bSave.addEventListener(Events.ON_CLICK, this);
bLoad.setImage("/images/Import24.png");
bLoad.setImage(ThemeManager.getThemeResource("images/Import24.png"));
bLoad.setSclass("action-button");
bLoad.setAttribute("org.zkoss.zul.image.preload", Boolean.TRUE);
bLoad.setTooltiptext(Msg.getMsg(Env.getCtx(), "Load"));
bLoad.setUpload("true");
bLoad.addEventListener(Events.ON_UPLOAD, this);
bDelete.setImage("/images/Delete24.png");
bDelete.setImage(ThemeManager.getThemeResource("images/Delete24.png"));
bDelete.setSclass("action-button");
bDelete.setTooltiptext(Msg.getMsg(Env.getCtx(), "Delete"));
bDelete.addEventListener(Events.ON_CLICK, this);
@ -278,19 +279,19 @@ public class WAttachment extends Window implements EventListener<Event>
southPane.appendChild(confirmPanel);
southPane.setHeight("30px");
bCancel.setImage("/images/Cancel24.png");
bCancel.setImage(ThemeManager.getThemeResource("images/Cancel24.png"));
bCancel.setSclass("action-button");
bCancel.addEventListener(Events.ON_CLICK, this);
bOk.setImage("/images/Ok24.png");
bOk.setImage(ThemeManager.getThemeResource("images/Ok24.png"));
bOk.setSclass("action-button");
bOk.addEventListener(Events.ON_CLICK, this);
bDeleteAll.setImage("/images/Delete24.png");
bDeleteAll.setImage(ThemeManager.getThemeResource("images/Delete24.png"));
bDeleteAll.setSclass("action-button");
bDeleteAll.addEventListener(Events.ON_CLICK, this);
bRefresh.setImage("/images/Refresh24.png");
bRefresh.setImage(ThemeManager.getThemeResource("images/Refresh24.png"));
bRefresh.setSclass("action-button");
bRefresh.addEventListener(Events.ON_CLICK, this);

View File

@ -26,6 +26,7 @@ import org.adempiere.webui.component.ListHeader;
import org.adempiere.webui.component.ListItem;
import org.adempiere.webui.component.Listbox;
import org.adempiere.webui.component.SimpleListModel;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.print.MPrintFormatItem;
import org.compiere.util.KeyNamePair;
import org.compiere.util.NamePair;
@ -139,10 +140,10 @@ public class WRC2FieldOrderPanel extends WRCTabPanel implements EventListener<Ev
}
};
bUp.setImage("images/Parent24.png");
bUp.setImage(ThemeManager.getThemeResource("images/Parent24.png"));
bUp.addEventListener(Events.ON_CLICK, actionListener);
bDown.setImage("images/Detail24.png");
bDown.setImage(ThemeManager.getThemeResource("images/Detail24.png"));
bDown.addEventListener(Events.ON_CLICK, actionListener);
Vbox vbox = new Vbox();

View File

@ -28,6 +28,7 @@ import org.adempiere.webui.component.ListHeader;
import org.adempiere.webui.component.ListItem;
import org.adempiere.webui.component.Listbox;
import org.adempiere.webui.component.SimpleListModel;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.print.MPrintFormatItem;
import org.compiere.util.KeyNamePair;
import org.compiere.util.NamePair;
@ -99,10 +100,10 @@ public class WRC3SortCriteriaPanel extends WRCTabPanel implements EventListener
yesList.setSeltype("multiple");
noList.setSeltype("multiple");
bAdd.setImage("images/Next24.png");
bAdd.setImage(ThemeManager.getThemeResource("images/Next24.png"));
bAdd.addEventListener(Events.ON_CLICK, actionListener);
bRemove.setImage("images/Previous24.png");
bRemove.setImage(ThemeManager.getThemeResource("images/Previous24.png"));
bRemove.addEventListener(Events.ON_CLICK, actionListener);
EventListener<Event> crossListMouseListener = new DragListener();
@ -148,10 +149,10 @@ public class WRC3SortCriteriaPanel extends WRCTabPanel implements EventListener
}
};
bUp.setImage("images/Parent24.png");
bUp.setImage(ThemeManager.getThemeResource("images/Parent24.png"));
bUp.addEventListener(Events.ON_CLICK, actionListener2);
bDown.setImage("images/Detail24.png");
bDown.setImage(ThemeManager.getThemeResource("images/Detail24.png"));
bDown.addEventListener(Events.ON_CLICK, actionListener2);
vbox = new Vbox();

View File

@ -14,6 +14,7 @@
package org.adempiere.webui.report;
import org.adempiere.webui.apps.AEnv;
import org.adempiere.webui.theme.ThemeManager;
import org.apache.ecs.ConcreteElement;
import org.apache.ecs.xhtml.a;
import org.apache.ecs.xhtml.div;
@ -64,7 +65,7 @@ public class HTMLExtension implements IHTMLExtension {
+ dataElement.getValueAsString() + "')");
window.addElement(href);
menu.addElement(window);
img image = new img("/webui/images/mWindow.png");
img image = new img("/webui" + ThemeManager.getThemeResource("images/mWindow.png"));
image.setAlign("middle");
href.addElement(image);
href.addElement(Msg.getMsg(AEnv.getLanguage(Env.getCtx()), "Window"));
@ -82,7 +83,7 @@ public class HTMLExtension implements IHTMLExtension {
+ dataElement.getValueAsString() + "')");
report.addElement(href);
menu.addElement(report);
image = new img("/webui/images/mReport.png");
image = new img("/webui" + ThemeManager.getThemeResource("images/mReport.png"));
image.setAlign("middle");
href.addElement(image);
href.addElement(Msg.getMsg(AEnv.getLanguage(Env.getCtx()), "Report").replace("&", ""));

View File

@ -114,4 +114,14 @@ public final class ThemeManager {
String def = ITheme.THEME_PATH_PREFIX + theme + ITheme.BROWSER_ICON_IMAGE;
return MSysConfig.getValue(MSysConfig.ZK_BROWSER_ICON, def);
}
/**
* Get theme resource url
* @param name relative resource name from theme root
* @return full resource url
*/
public static String getThemeResource(String name) {
String theme = getTheme();
return ITheme.THEME_PATH_PREFIX + theme + "/" + name;
}
}

View File

@ -17,6 +17,7 @@ import java.net.URL;
import org.adempiere.base.IResourceFinder;
import org.adempiere.webui.WebUIActivator;
import org.adempiere.webui.theme.ThemeManager;
/**
*
@ -30,6 +31,7 @@ public class WebUIResourceFinder implements IResourceFinder {
URL url = WebUIActivator.getBundleContext().getBundle().getEntry(name);
if (url == null && name.startsWith("org/compiere/images")) {
String t = name.substring("org/compiere/".length());
t = ThemeManager.getThemeResource(t);
url = WebUIActivator.getBundleContext().getBundle().getEntry(t);
if (url == null && t.endsWith(".gif")) {
t = t.replace(".gif", ".png");
@ -37,6 +39,7 @@ public class WebUIResourceFinder implements IResourceFinder {
}
} else if (url == null && name.startsWith("/org/compiere/images")) {
String t = name.substring("/org/compiere/".length());
t = ThemeManager.getThemeResource(t);
url = WebUIActivator.getBundleContext().getBundle().getEntry(t);
if (url == null && t.endsWith(".gif")) {
t = t.replace(".gif", ".png");

View File

@ -155,7 +155,7 @@ public class AboutWindow extends Window implements EventListener<Event> {
hbox.setWidth("100%");
hbox.setVflex("0");
Button btnOk = new Button();
btnOk.setImage("/images/Ok24.png");
btnOk.setImage(ThemeManager.getThemeResource("images/Ok24.png"));
btnOk.addEventListener(Events.ON_CLICK, this);
btnOk.setParent(hbox);

View File

@ -65,6 +65,7 @@ import org.adempiere.webui.event.DialogEvents;
import org.adempiere.webui.event.ValueChangeEvent;
import org.adempiere.webui.event.ValueChangeListener;
import org.adempiere.webui.part.MultiTabPart;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.model.GridField;
import org.compiere.model.GridFieldVO;
import org.compiere.model.GridTab;
@ -306,21 +307,21 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
Button btnNew = new Button();
btnNew.setName("btnNew");
btnNew.setId("btnNew");
btnNew.setImage("/images/New24.png");
btnNew.setImage(ThemeManager.getThemeResource("images/New24.png"));
btnNew.addEventListener(Events.ON_CLICK,this);
LayoutUtils.addSclass("action-button", btnNew);
Button btnOk = new Button();
btnOk.setName("btnOkSimple");
btnOk.setId("btnOk");
btnOk.setImage("/images/Ok24.png");
btnOk.setImage(ThemeManager.getThemeResource("images/Ok24.png"));
btnOk.addEventListener(Events.ON_CLICK,this);
LayoutUtils.addSclass("action-button", btnOk);
Button btnCancel = new Button();
btnCancel.setName("btnCancel");
btnCancel.setId("btnCancel");
btnCancel.setImage("/images/Cancel24.png");
btnCancel.setImage(ThemeManager.getThemeResource("images/Cancel24.png"));
btnCancel.addEventListener(Events.ON_CLICK,this);
LayoutUtils.addSclass("action-button", btnCancel);
@ -395,24 +396,24 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
private void initAdvanced()
{
ToolBarButton btnNew = new ToolBarButton();
btnNew.setImage("/images/New24.png");
btnNew.setImage(ThemeManager.getThemeResource("images/New24.png"));
btnNew.setAttribute("name", "btnNewAdv");
btnNew.addEventListener(Events.ON_CLICK, this);
ToolBarButton btnDelete = new ToolBarButton();
btnDelete.setAttribute("name","btnDeleteAdv");
btnDelete.setImage("/images/Delete24.png");
btnDelete.setImage(ThemeManager.getThemeResource("images/Delete24.png"));
btnDelete.addEventListener(Events.ON_CLICK, this);
Button btnOk = new Button();
btnOk.setName("btnOkAdv");
btnOk.setImage("/images/Ok24.png");
btnOk.setImage(ThemeManager.getThemeResource("images/Ok24.png"));
btnOk.addEventListener(Events.ON_CLICK, this);
LayoutUtils.addSclass("action-button", btnOk);
Button btnCancel = new Button();
btnCancel.setName("btnCancel");
btnCancel.setImage("/images/Cancel24.png");
btnCancel.setImage(ThemeManager.getThemeResource("images/Cancel24.png"));
btnCancel.addEventListener(Events.ON_CLICK, this);
LayoutUtils.addSclass("action-button", btnCancel);
@ -511,7 +512,7 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
btnSave = new ToolBarButton();
btnSave.setAttribute("name","btnSaveAdv");
btnSave.setImage("/images/Save24.png");
btnSave.setImage(ThemeManager.getThemeResource("images/Save24.png"));
btnSave.addEventListener(Events.ON_CLICK, this);
btnSave.setDisabled(true);
btnSave.setId("btnSave");

View File

@ -65,23 +65,20 @@ public class LoginWindow extends FWindow implements EventListener<Event>
private ChangePasswordPanel pnlChangePassword;
private RolePanel pnlRole;
public LoginWindow(IWebClient app)
public LoginWindow() {}
public void init(IWebClient app)
{
this.ctx = Env.getCtx();
this.ctx = Env.getCtx();
this.app = app;
initComponents();
init();
this.appendChild(pnlLogin);
this.setStyle("background-color: transparent");
// add listener on 'ENTER' key for the login window
addEventListener(Events.ON_OK,this);
setWidgetListener("onOK", "zAu.cmd0.showBusy(null)");
}
private void init()
{
this.appendChild(pnlLogin);
this.setStyle("background-color: transparent");
}
private void initComponents()
{
pnlLogin = new LoginPanel(ctx, this);

View File

@ -38,6 +38,7 @@ import org.adempiere.webui.event.ValueChangeEvent;
import org.adempiere.webui.event.ValueChangeListener;
import org.adempiere.webui.panel.StatusBarPanel;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.model.DataStatusEvent;
import org.compiere.model.DataStatusListener;
import org.compiere.model.GridField;
@ -195,13 +196,13 @@ public final class WAccountDialog extends Window
toolBar.setOrient("vertical");
toolBar.setStyle("border: none; margin: 5px");
bSave.setImage("images/Save24.png");
bSave.setImage(ThemeManager.getThemeResource("images/Save24.png"));
bSave.setTooltiptext(Msg.getMsg(Env.getCtx(),"AccountNewUpdate"));
bSave.addEventListener(Events.ON_CLICK, this);
bRefresh.setImage("images/Refresh24.png");
bRefresh.setImage(ThemeManager.getThemeResource("images/Refresh24.png"));
bRefresh.setTooltiptext(Msg.getMsg(Env.getCtx(),"Refresh"));
bRefresh.addEventListener(Events.ON_CLICK, this);
bIgnore.setImage("images/Ignore24.png");
bIgnore.setImage(ThemeManager.getThemeResource("images/Ignore24.png"));
bIgnore.setTooltiptext(Msg.getMsg(Env.getCtx(),"Ignore"));
bIgnore.addEventListener(Events.ON_CLICK, this);
//

View File

@ -42,6 +42,7 @@ import org.adempiere.webui.component.Window;
import org.adempiere.webui.editor.WSearchEditor;
import org.adempiere.webui.event.ValueChangeEvent;
import org.adempiere.webui.event.ValueChangeListener;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.model.Lookup;
import org.compiere.model.MClient;
import org.compiere.model.MLookupFactory;
@ -311,7 +312,7 @@ public class WEMailDialog extends Window implements EventListener<Event>, ValueC
Div southDiv = new Div();
Button btn = new Button();
btn.setImage("/images/Attachment24.png");
btn.setImage(ThemeManager.getThemeResource("images/Attachment24.png"));
btn.setUpload("true");
btn.addEventListener(Events.ON_UPLOAD, this);
btn.setTooltiptext(Msg.getMsg(Env.getCtx(), "Attachment"));

View File

@ -30,6 +30,7 @@ import org.adempiere.webui.component.Listbox;
import org.adempiere.webui.component.SimpleListModel;
import org.adempiere.webui.component.Window;
import org.adempiere.webui.editor.WEditorPopupMenu;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.model.GridField;
import org.compiere.model.MChangeLog;
import org.compiere.model.MColumn;
@ -370,7 +371,7 @@ public class WFieldRecordInfo extends Window implements EventListener<Event>
public static void addMenu(WEditorPopupMenu popupMenu) {
Menuitem changeLogItem = new Menuitem();
changeLogItem.setLabel(Msg.getElement(Env.getCtx(), "AD_ChangeLog_ID"));
changeLogItem.setImage("/images/ChangeLog16.png");
changeLogItem.setImage(ThemeManager.getThemeResource("images/ChangeLog16.png"));
changeLogItem.setAttribute(WEditorPopupMenu.EVENT_ATTRIBUTE, WEditorPopupMenu.CHANGE_LOG_EVENT);
changeLogItem.addEventListener(Events.ON_CLICK, popupMenu);

View File

@ -36,6 +36,7 @@ import org.adempiere.webui.component.Panel;
import org.adempiere.webui.component.Row;
import org.adempiere.webui.component.Textbox;
import org.adempiere.webui.component.Window;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.model.GridField;
import org.compiere.model.MBPartnerLocation;
import org.compiere.model.MCountry;
@ -243,10 +244,10 @@ public class WLocationDialog extends Window implements EventListener<Event>
lstCountry.setRows(0);
btnOk = new Button();
btnOk.setImage("/images/Ok16.png");
btnOk.setImage(ThemeManager.getThemeResource("images/Ok16.png"));
btnOk.addEventListener(Events.ON_CLICK,this);
btnCancel = new Button();
btnCancel.setImage("/images/Cancel16.png");
btnCancel.setImage(ThemeManager.getThemeResource("images/Cancel16.png"));
btnCancel.addEventListener(Events.ON_CLICK,this);
toLink = new Button(TO_LINK);

View File

@ -34,6 +34,7 @@ import org.adempiere.webui.component.ListItem;
import org.adempiere.webui.component.Listbox;
import org.adempiere.webui.component.Textbox;
import org.adempiere.webui.component.Window;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.model.MLocator;
import org.compiere.model.MLocatorLookup;
import org.compiere.model.MRole;
@ -258,10 +259,10 @@ public class WLocatorDialog extends Window implements EventListener<Event>
boxButtons.setStyle("padding: 5px;");
boxButtons.setPack("end");
btnOk.setImage("/images/Ok16.png");
btnOk.setImage(ThemeManager.getThemeResource("images/Ok16.png"));
btnOk.addEventListener(Events.ON_CLICK, this);
btnCancel.setImage("/images/Cancel16.png");
btnCancel.setImage(ThemeManager.getThemeResource("images/Cancel16.png"));
btnCancel.addEventListener(Events.ON_CLICK, this);
boxButtons.appendChild(btnOk);

View File

@ -25,6 +25,7 @@ import org.adempiere.webui.component.Button;
import org.adempiere.webui.component.Panel;
import org.adempiere.webui.component.Window;
import org.adempiere.webui.component.ZkCssHelper;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.util.CLogger;
import org.compiere.util.Env;
import org.compiere.util.Msg;
@ -143,16 +144,16 @@ public class WMediaDialog extends Window implements EventListener<Event>
bSave.setEnabled(false);
bSave.setImage("/images/Export24.png");
bSave.setImage(ThemeManager.getThemeResource("images/Export24.png"));
bSave.setTooltiptext(Msg.getMsg(Env.getCtx(), "AttachmentSave"));
bSave.addEventListener(Events.ON_CLICK, this);
bLoad.setImage("/images/Import24.png");
bLoad.setImage(ThemeManager.getThemeResource("images/Import24.png"));
bLoad.setTooltiptext(Msg.getMsg(Env.getCtx(), "Load"));
bLoad.addEventListener(Events.ON_UPLOAD, this);
bLoad.setUpload("true");
bDelete.setImage("/images/Delete24.png");
bDelete.setImage(ThemeManager.getThemeResource("images/Delete24.png"));
bDelete.setTooltiptext(Msg.getMsg(Env.getCtx(), "Delete"));
bDelete.addEventListener(Events.ON_CLICK, this);
@ -173,10 +174,10 @@ public class WMediaDialog extends Window implements EventListener<Event>
southPane.appendChild(confirmPanel);
southPane.setHeight("30px");
bOk.setImage("/images/Ok24.png");
bOk.setImage(ThemeManager.getThemeResource("images/Ok24.png"));
bOk.addEventListener(Events.ON_CLICK, this);
bCancel.setImage("/images/Cancel24.png");
bCancel.setImage(ThemeManager.getThemeResource("images/Cancel24.png"));
bCancel.addEventListener(Events.ON_CLICK, this);
confirmPanel.appendChild(bOk);

View File

@ -41,6 +41,7 @@ import org.adempiere.webui.component.Textbox;
import org.adempiere.webui.component.Window;
import org.adempiere.webui.event.DialogEvents;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.model.MAttribute;
import org.compiere.model.MAttributeInstance;
import org.compiere.model.MAttributeSet;
@ -326,7 +327,7 @@ public class WPAttributeDialog extends Window implements EventListener<Event>
cbNewEdit.addEventListener(Events.ON_CHECK, this);
row.appendChild(cbNewEdit);
bSelect.setLabel(Msg.getMsg(Env.getCtx(), "SelectExisting"));
bSelect.setImage("images/PAttribute16.png");
bSelect.setImage(ThemeManager.getThemeResource("images/PAttribute16.png"));
bSelect.addEventListener(Events.ON_CLICK, this);
row.appendChild(bSelect);
rows.appendChild(row);
@ -400,7 +401,7 @@ public class WPAttributeDialog extends Window implements EventListener<Event>
}
// Popup
// fieldLot.addMouseListener(new VPAttributeDialog_mouseAdapter(this)); // popup
mZoom = new Menuitem(Msg.getMsg(Env.getCtx(), "Zoom"), "images/Zoom16.png");
mZoom = new Menuitem(Msg.getMsg(Env.getCtx(), "Zoom"), ThemeManager.getThemeResource("images/Zoom16.png"));
mZoom.addEventListener(Events.ON_CLICK, this);
popupMenu.appendChild(mZoom);
this.appendChild(popupMenu);

View File

@ -17,6 +17,7 @@ import org.adempiere.webui.component.ToolBar;
import org.adempiere.webui.component.ToolBarButton;
import org.adempiere.webui.editor.WYesNoEditor;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.util.UserPreference;
import org.compiere.util.Env;
import org.compiere.util.Msg;
@ -98,7 +99,7 @@ public class WPreference extends Popup implements EventListener<Event> {
this.appendChild(toolbar);
ToolBarButton btn = new ToolBarButton("");
btn.setName("btnSave");
btn.setImage("/images/Save24.png");
btn.setImage(ThemeManager.getThemeResource("images/Save24.png"));
btn.setTooltiptext(Msg.getMsg(Env.getCtx(),"Save"));
btn.addEventListener(Events.ON_CLICK, this);
toolbar.appendChild(btn);

View File

@ -28,6 +28,7 @@ import org.adempiere.webui.component.Listbox;
import org.adempiere.webui.component.Row;
import org.adempiere.webui.component.Rows;
import org.adempiere.webui.component.Window;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.model.MRecordAccess;
import org.compiere.model.MRole;
import org.compiere.util.CLogger;
@ -150,13 +151,13 @@ public class WRecordAccessDialog extends Window implements EventListener<Event>
*/
private void jbInit() throws Exception
{
bDelete.setImage("/images/Delete16.png");
bDelete.setImage(ThemeManager.getThemeResource("images/Delete16.png"));
bDelete.setTooltiptext(Msg.getMsg(Env.getCtx(), "Delete"));
bNew.setImage("/images/New16.png");
bNew.setImage(ThemeManager.getThemeResource("images/New16.png"));
bNew.setTooltiptext(Msg.getMsg(Env.getCtx(), "New"));
bUp.setImage("/images/Previous16.png");
bUp.setImage(ThemeManager.getThemeResource("images/Previous16.png"));
bUp.setTooltiptext(Msg.getMsg(Env.getCtx(), "Previous"));
bDown.setImage("/images/Next16.png");
bDown.setImage(ThemeManager.getThemeResource("images/Next16.png"));
bDown.setTooltiptext(Msg.getMsg(Env.getCtx(), "Next"));
cbActive.setText(Msg.translate(Env.getCtx(), "IsActive"));

View File

@ -52,6 +52,7 @@ import org.adempiere.webui.panel.ITabOnCloseHandler;
import org.adempiere.webui.panel.StatusBarPanel;
import org.adempiere.webui.report.HTMLExtension;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.theme.ThemeManager;
import org.compiere.model.GridField;
import org.compiere.model.MArchive;
import org.compiere.model.MClient;
@ -276,7 +277,7 @@ public class ZkReportViewer extends Window implements EventListener<Event>, ITab
toolBar.appendChild(new Separator("vertical"));
bCustomize.setName("Customize");
bCustomize.setImage("/images/Preference24.png");
bCustomize.setImage(ThemeManager.getThemeResource("images/Preference24.png"));
bCustomize.setTooltiptext(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "PrintCustomize")));
toolBar.appendChild(bCustomize);
bCustomize.addEventListener(Events.ON_CLICK, this);
@ -284,7 +285,7 @@ public class ZkReportViewer extends Window implements EventListener<Event>, ITab
bFind.setName("Find");
bFind.setImage("/images/Find24.png");
bFind.setImage(ThemeManager.getThemeResource("images/Find24.png"));
bFind.setTooltiptext(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "Find")));
toolBar.appendChild(bFind);
bFind.addEventListener(Events.ON_CLICK, this);
@ -292,13 +293,13 @@ public class ZkReportViewer extends Window implements EventListener<Event>, ITab
toolBar.appendChild(new Separator("vertical"));
bSendMail.setName("SendMail");
bSendMail.setImage("/images/SendMail24.png");
bSendMail.setImage(ThemeManager.getThemeResource("images/SendMail24.png"));
bSendMail.setTooltiptext(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "SendMail")));
toolBar.appendChild(bSendMail);
bSendMail.addEventListener(Events.ON_CLICK, this);
bArchive.setName("Archive");
bArchive.setImage("/images/Archive24.png");
bArchive.setImage(ThemeManager.getThemeResource("images/Archive24.png"));
bArchive.setTooltiptext(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "Archive")));
toolBar.appendChild(bArchive);
bArchive.addEventListener(Events.ON_CLICK, this);
@ -306,7 +307,7 @@ public class ZkReportViewer extends Window implements EventListener<Event>, ITab
if (m_isCanExport)
{
bExport.setName("Export");
bExport.setImage("/images/ExportX24.png");
bExport.setImage(ThemeManager.getThemeResource("images/Export24.png"));
bExport.setTooltiptext(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "Export")));
toolBar.appendChild(bExport);
bExport.addEventListener(Events.ON_CLICK, this);
@ -315,12 +316,12 @@ public class ZkReportViewer extends Window implements EventListener<Event>, ITab
toolBar.appendChild(new Separator("vertical"));
bRefresh.setName("Refresh");
bRefresh.setImage("/images/Refresh24.png");
bRefresh.setImage(ThemeManager.getThemeResource("images/Refresh24.png"));
bRefresh.setTooltiptext(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "Refresh")));
toolBar.appendChild(bRefresh);
bRefresh.addEventListener(Events.ON_CLICK, this);
bWizard.setImage("/images/Wizard24.png");
bWizard.setImage(ThemeManager.getThemeResource("images/Wizard24.png"));
bWizard.setTooltiptext(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "PrintWizard")));
toolBar.appendChild(bWizard);
bWizard.addEventListener(Events.ON_CLICK, this);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 924 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 926 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 766 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 808 B

Some files were not shown because too many files have changed in this diff Show More