?? valuepreference.java
字號:
/******************************************************************************
* The contents of this file are subject to the Compiere License Version 1.1
* ("License"); You may not use this file except in compliance with the License
* You may obtain a copy of the License at http://www.compiere.org/license.html
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
* the specific language governing rights and limitations under the License.
* The Original Code is Compiere ERP & CRM Business Solution
* The Initial Developer of the Original Code is Jorg Janke and ComPiere, Inc.
* Portions created by Jorg Janke are Copyright (C) 1999-2001 Jorg Janke, parts
* created by ComPiere are Copyright (C) ComPiere, Inc.; All Rights Reserved.
* Contributor(s): ______________________________________.
*****************************************************************************/
package org.compiere.grid.ed;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.util.*;
import java.sql.*;
import org.compiere.util.*;
import org.compiere.apps.*;
import org.compiere.model.*;
import org.compiere.swing.*;
import org.compiere.plaf.*;
/**
* Maintain Value Preferences.
* To delete a preference, select a null value and save.
*
* @author Jorg Janke
* @version $Id: ValuePreference.java,v 1.8 2003/02/18 06:12:44 jjanke Exp $
*/
public class ValuePreference extends JDialog implements ActionListener
{
/**
* Factory
* @param mField field
* @param aValue value
* @return ValuePreference
*/
public static ValuePreference start (MField mField, Object aValue)
{
return start (mField, aValue, null);
} // start
/**
* Factory
* @param mField field
* @param aValue value
* @param aDisplayValue display value
* @return ValuePreference
*/
public static ValuePreference start (MField mField, Object aValue, String aDisplayValue)
{
// Set Value/DisplayValue
String Value = null;
String DisplayValue = null;
if (aValue != null)
{
Value = aValue.toString();
DisplayValue = (aDisplayValue == null) ? Value : aDisplayValue;
}
// Get from mField
// AD_Window_ID, DisplayAttribute, Attribute, DisplayType, AD_Referenece_ID
int AD_Window_ID = mField.getAD_Window_ID();
String Attribute = mField.getColumnName();
String DisplayAttribute = mField.getHeader();
int displayType = mField.getDisplayType();
int AD_Reference_ID = 0;
int WindowNo = mField.getWindowNo();
// Get from Environment (WindowNo)
// AD_Client_ID, AD_Org_ID, AD_User_ID, Frame
int AD_Client_ID = Env.getContextAsInt(Env.getCtx(), WindowNo, "AD_Client_ID");
int AD_Org_ID = Env.getContextAsInt(Env.getCtx(), WindowNo, "AD_Org_ID");
int AD_User_ID = Env.getContextAsInt(Env.getCtx(), "#AD_User_ID");;
Frame frame = Env.getWindow(WindowNo);
// Create Editor
ValuePreference vp = new ValuePreference (frame, WindowNo,
AD_Client_ID, AD_Org_ID, AD_User_ID, AD_Window_ID,
Attribute, DisplayAttribute, Value, DisplayValue,
displayType, AD_Reference_ID);
return vp;
} // create
/**
* Create the popup menu item to start the ValuePreference editor.
* <code>
* .. add method
* public void setField (MField mField)
* {
* m_mField = mField;
* if (m_mField != null)
* ValuePreference.addMenu (this, m_popupMenu);
* } // setField
*
* .. in actionPerformed add ..
* if (e.getActionCommand().equals(ValuePreference.NAME))
* {
* ValuePreference.start (m_mField, getValue(), DisplayValue);
* return;
* }
* </code>
* @param l listener
* @param popupMenu menu
* @return JMenuItem
*/
public static JMenuItem addMenu (ActionListener l, JPopupMenu popupMenu)
{
JMenuItem mi = new JMenuItem (Msg.getMsg(Env.getCtx(), NAME), s_icon);
mi.setActionCommand(NAME);
mi.addActionListener(l);
popupMenu.add(mi);
return mi;
} // addMenu
/** The Name of the Editor */
public static final String NAME = "ValuePreference";
/** The Menu Icon */
private static Icon s_icon = new ImageIcon(org.compiere.Compiere.class.getResource("images/VPreference16.gif"));
/**
* Constructor
*
* @param frame parent
* @param WindowNo window no
* @param AD_Client_ID client
* @param AD_Org_ID org
* @param AD_User_ID user
* @param AD_Window_ID window id
* @param Attribute attribute
* @param DisplayAttribute attribute display
* @param Value value
* @param DisplayValue calue display
* @param displayType display type
* @param AD_Reference_ID reference
*/
public ValuePreference (Frame frame, int WindowNo,
int AD_Client_ID, int AD_Org_ID, int AD_User_ID, int AD_Window_ID,
String Attribute, String DisplayAttribute, String Value, String DisplayValue,
int displayType, int AD_Reference_ID)
{
super(frame, Msg.getMsg(Env.getCtx(), NAME) + " " + DisplayAttribute, true);
Log.trace(Log.l3_Util, NAME, "WindowNo=" + WindowNo
+ ", Client_ID=" + AD_Client_ID + ", Org_ID=" + AD_Org_ID + ", User_ID=" + AD_User_ID + ", Window_ID=" + AD_Window_ID
+ ", Attribute=" + Attribute + "/" + DisplayAttribute + ", Value=" + Value + "/" + DisplayValue
+ ", DisplayType=" + displayType + ", Reference_ID=" + AD_Reference_ID);
m_ctx = Env.getCtx();
m_WindowNo = WindowNo;
m_AD_Client_ID = AD_Client_ID;
m_AD_Org_ID = AD_Org_ID;
m_AD_User_ID = AD_User_ID;
m_AD_Window_ID = AD_Window_ID;
m_Attribute = Attribute;
m_DisplayAttribute = DisplayAttribute;
m_Value = Value;
m_DisplayValue = DisplayValue;
m_DisplayType = displayType;
m_AD_Reference_ID = AD_Reference_ID;
try
{
jbInit();
dynInit();
}
catch(Exception ex)
{
Log.error("ValuePreference", ex);
}
AEnv.showCenterScreen(this);
} // ValuePreference
private Properties m_ctx;
private int m_WindowNo;
private int m_AD_Client_ID;
private int m_AD_Org_ID;
private int m_AD_User_ID;
private int m_AD_Window_ID;
private String m_Attribute;
private String m_DisplayAttribute;
private String m_Value;
private String m_DisplayValue;
private int m_DisplayType;
private int m_AD_Reference_ID;
// Display
private CPanel setPanel = new CPanel();
private GridBagLayout setLayout = new GridBagLayout();
private CLabel lAttribute = new CLabel();
private CTextField fAttribute = new CTextField();
private CLabel lAttributeValue = new CLabel();
private CLabel lValue = new CLabel();
private CLabel lValueValue = new CLabel();
private CTextField fValue = new CTextField();
private CLabel lSetFor = new CLabel();
private VCheckBox cbClient = new VCheckBox();
private VCheckBox cbOrg = new VCheckBox();
private VCheckBox cbUser = new VCheckBox();
private VCheckBox cbWindow = new VCheckBox();
private CLabel lExplanation = new CLabel();
private CPanel currentPanel = new CPanel();
private TitledBorder titledBorder;
private JScrollPane scrollPane = new JScrollPane();
private BorderLayout currentLayout = new BorderLayout();
private JTable table = new JTable();
private ConfirmPanel confirmPanel = new ConfirmPanel(true);
private JButton bDelete;
/**
* Static Layout
* @throws Exception
*/
void jbInit() throws Exception
{
CompiereColor.setBackground(this);
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
titledBorder = new TitledBorder(BorderFactory.createEtchedBorder(Color.white,new Color(148, 145, 140)),
Msg.getMsg(m_ctx, "CurrentSettings"));
//
lAttribute.setText(Msg.translate(m_ctx, "Attribute"));
lValue.setText(Msg.translate(m_ctx, "Value"));
lSetFor.setText(Msg.getMsg(m_ctx, "ValuePreferenceSetFor"));
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -