Java tutorial
// Description: Java 7 Swing Element JTabbedPane implementation for Contact. /* * MSS Code Factory Accounting Business Application Model * * Copyright (c) 2014 Mark Sobkow * * This program is available as free software under the GNU GPL v3, or * under a commercial license from Mark Sobkow. For commercial licensing * details, please contact msobkow@sasktel.net. * * Under the terms of the GPL: * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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, see <http://www.gnu.org/licenses/>. * * This source code incorporates modified modules originally licensed * under the Apache 2.0 license by MSS Code Factory including CFSecurity * (net-sourceforge-msscodefactory-2.0-cfsecurity.xml), * CFInternet (net-sourceforge-msscodefactory-2.0-cfinternet.xml), and * CFCrm 2.0 (net-sourceforge-msscodefactory-2.0-cfcrm.xml), with all of the * required models being available as part of the MSS Code Factory 1.11 * distribution source and install zips. * * You can download installations of MSS Code Factory 1.11 from * http://msscodefactory.sourceforge.net/ * * *********************************************************************** * * Code manufactured by MSS Code Factory */ package net.sourceforge.msscodefactory.cfacc.v2_0.CFAccSwing; import java.math.*; import java.sql.*; import java.text.*; import java.util.*; import java.util.List; import java.awt.*; import java.awt.event.*; import javax.swing.*; import net.sourceforge.msscodefactory.cflib.v1_11.CFLib.*; import net.sourceforge.msscodefactory.cflib.v1_11.CFLib.Swing.*; import org.apache.commons.codec.binary.Base64; import net.sourceforge.msscodefactory.cfacc.v2_0.CFAcc.*; import net.sourceforge.msscodefactory.cfacc.v2_0.CFAccObj.*; /** * CFAccSwingContactEltJTabbedPane Swing Element JTabbedPane implementation * for Contact. */ public class CFAccSwingContactEltJTabbedPane extends CFJTabbedPane implements ICFAccSwingContactJPanelCommon { protected ICFAccSwingSchema swingSchema = null; protected boolean swingIsInitializing = true; public final String LABEL_TabComponentsTagList = "Optional Components Tag"; public final String LABEL_TabComponentsAddressList = "Optional Components Address"; public final String LABEL_TabComponentsPhoneList = "Optional Components Phone"; public final String LABEL_TabComponentsContactURLList = "Optional Components Contact URL"; public final String LABEL_TabComponentsMemoList = "Optional Components Memo"; public final String LABEL_TabChildrenAccContList = "Optional Children Account Contact"; protected JPanel tabViewComponentsTagListJPanel = null; protected JPanel tabViewComponentsAddressListJPanel = null; protected JPanel tabViewComponentsPhoneListJPanel = null; protected JPanel tabViewComponentsContactURLListJPanel = null; protected JPanel tabViewComponentsMemoListJPanel = null; protected JPanel tabViewChildrenAccContListJPanel = null; public CFAccSwingContactEltJTabbedPane(ICFAccSwingSchema argSchema, ICFAccContactObj argFocus) { super(JTabbedPane.TOP, JTabbedPane.WRAP_TAB_LAYOUT); final String S_ProcName = "construct-schema-focus"; if (argSchema == null) { throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 1, "argSchema"); } // argFocus is optional; focus may be set later during execution as // conditions of the runtime change. swingSchema = argSchema; setSwingFocusAsContact(argFocus); // Wire the newly constructed JPanels/Tabs to this JTabbedPane addTab(LABEL_TabComponentsTagList, getTabViewComponentsTagListJPanel()); addTab(LABEL_TabComponentsAddressList, getTabViewComponentsAddressListJPanel()); addTab(LABEL_TabComponentsPhoneList, getTabViewComponentsPhoneListJPanel()); addTab(LABEL_TabComponentsContactURLList, getTabViewComponentsContactURLListJPanel()); addTab(LABEL_TabComponentsMemoList, getTabViewComponentsMemoListJPanel()); addTab(LABEL_TabChildrenAccContList, getTabViewChildrenAccContListJPanel()); swingIsInitializing = false; } public ICFAccSwingSchema getSwingSchema() { return (swingSchema); } public void setSwingFocus(ICFLibAnyObj2 value) { final String S_ProcName = "setSwingFocus"; if ((value == null) || (value instanceof ICFAccContactObj)) { super.setSwingFocus(value); } else { throw CFLib.getDefaultExceptionFactory().newUnsupportedClassException(getClass(), S_ProcName, "value", value, "ICFAccContactObj"); } } public void setSwingFocusAsContact(ICFAccContactObj value) { setSwingFocus(value); } public ICFAccContactObj getSwingFocusAsContact() { return ((ICFAccContactObj) getSwingFocus()); } protected class RefreshComponentsTagList implements ICFJRefreshCallback { public RefreshComponentsTagList() { } public void refreshMe() { Component cont = getParent(); while ((cont != null) && (!(cont instanceof JInternalFrame))) { cont = cont.getParent(); } if (cont != null) { if (!((JInternalFrame) cont).isClosed()) { Collection<ICFAccContactTagObj> dataCollection; ICFAccContactObj focus = getSwingFocusAsContact(); if (focus != null) { dataCollection = focus.getOptionalComponentsTag(swingIsInitializing).values(); } else { dataCollection = null; } JPanel panel = getTabViewComponentsTagListJPanel(); ICFAccSwingContactTagJPanelList jpList = (ICFAccSwingContactTagJPanelList) panel; jpList.setSwingDataCollection(dataCollection); } } } } public JPanel getTabViewComponentsTagListJPanel() { if (tabViewComponentsTagListJPanel == null) { Collection<ICFAccContactTagObj> dataCollection; ICFAccContactObj focus = getSwingFocusAsContact(); if (focus != null) { dataCollection = focus.getOptionalComponentsTag(swingIsInitializing).values(); } else { dataCollection = null; } ICFAccContactObj swingContainer; if ((focus != null) && (focus instanceof ICFAccContactObj)) { swingContainer = (ICFAccContactObj) focus; } else { swingContainer = null; } tabViewComponentsTagListJPanel = swingSchema.getContactTagFactory().newListJPanel(null, swingContainer, dataCollection, new RefreshComponentsTagList(), false); } return (tabViewComponentsTagListJPanel); } protected class RefreshComponentsAddressList implements ICFJRefreshCallback { public RefreshComponentsAddressList() { } public void refreshMe() { Component cont = getParent(); while ((cont != null) && (!(cont instanceof JInternalFrame))) { cont = cont.getParent(); } if (cont != null) { if (!((JInternalFrame) cont).isClosed()) { Collection<ICFAccAddressObj> dataCollection; ICFAccContactObj focus = getSwingFocusAsContact(); if (focus != null) { dataCollection = focus.getOptionalComponentsAddress(swingIsInitializing).values(); } else { dataCollection = null; } JPanel panel = getTabViewComponentsAddressListJPanel(); ICFAccSwingAddressJPanelList jpList = (ICFAccSwingAddressJPanelList) panel; jpList.setSwingDataCollection(dataCollection); } } } } public JPanel getTabViewComponentsAddressListJPanel() { if (tabViewComponentsAddressListJPanel == null) { Collection<ICFAccAddressObj> dataCollection; ICFAccContactObj focus = getSwingFocusAsContact(); if (focus != null) { dataCollection = focus.getOptionalComponentsAddress(swingIsInitializing).values(); } else { dataCollection = null; } ICFAccContactObj swingContainer; if ((focus != null) && (focus instanceof ICFAccContactObj)) { swingContainer = (ICFAccContactObj) focus; } else { swingContainer = null; } tabViewComponentsAddressListJPanel = swingSchema.getAddressFactory().newListJPanel(null, swingContainer, dataCollection, new RefreshComponentsAddressList(), false); } return (tabViewComponentsAddressListJPanel); } protected class RefreshComponentsPhoneList implements ICFJRefreshCallback { public RefreshComponentsPhoneList() { } public void refreshMe() { Component cont = getParent(); while ((cont != null) && (!(cont instanceof JInternalFrame))) { cont = cont.getParent(); } if (cont != null) { if (!((JInternalFrame) cont).isClosed()) { Collection<ICFAccPhoneObj> dataCollection; ICFAccContactObj focus = getSwingFocusAsContact(); if (focus != null) { dataCollection = focus.getOptionalComponentsPhone(swingIsInitializing).values(); } else { dataCollection = null; } JPanel panel = getTabViewComponentsPhoneListJPanel(); ICFAccSwingPhoneJPanelList jpList = (ICFAccSwingPhoneJPanelList) panel; jpList.setSwingDataCollection(dataCollection); } } } } public JPanel getTabViewComponentsPhoneListJPanel() { if (tabViewComponentsPhoneListJPanel == null) { Collection<ICFAccPhoneObj> dataCollection; ICFAccContactObj focus = getSwingFocusAsContact(); if (focus != null) { dataCollection = focus.getOptionalComponentsPhone(swingIsInitializing).values(); } else { dataCollection = null; } ICFAccContactObj swingContainer; if ((focus != null) && (focus instanceof ICFAccContactObj)) { swingContainer = (ICFAccContactObj) focus; } else { swingContainer = null; } tabViewComponentsPhoneListJPanel = swingSchema.getPhoneFactory().newListJPanel(null, swingContainer, dataCollection, new RefreshComponentsPhoneList(), false); } return (tabViewComponentsPhoneListJPanel); } protected class RefreshComponentsContactURLList implements ICFJRefreshCallback { public RefreshComponentsContactURLList() { } public void refreshMe() { Component cont = getParent(); while ((cont != null) && (!(cont instanceof JInternalFrame))) { cont = cont.getParent(); } if (cont != null) { if (!((JInternalFrame) cont).isClosed()) { Collection<ICFAccContactURLObj> dataCollection; ICFAccContactObj focus = getSwingFocusAsContact(); if (focus != null) { dataCollection = focus.getOptionalComponentsContactURL(swingIsInitializing).values(); } else { dataCollection = null; } JPanel panel = getTabViewComponentsContactURLListJPanel(); ICFAccSwingContactURLJPanelList jpList = (ICFAccSwingContactURLJPanelList) panel; jpList.setSwingDataCollection(dataCollection); } } } } public JPanel getTabViewComponentsContactURLListJPanel() { if (tabViewComponentsContactURLListJPanel == null) { Collection<ICFAccContactURLObj> dataCollection; ICFAccContactObj focus = getSwingFocusAsContact(); if (focus != null) { dataCollection = focus.getOptionalComponentsContactURL(swingIsInitializing).values(); } else { dataCollection = null; } ICFAccContactObj swingContainer; if ((focus != null) && (focus instanceof ICFAccContactObj)) { swingContainer = (ICFAccContactObj) focus; } else { swingContainer = null; } tabViewComponentsContactURLListJPanel = swingSchema.getContactURLFactory().newListJPanel(null, swingContainer, dataCollection, new RefreshComponentsContactURLList(), false); } return (tabViewComponentsContactURLListJPanel); } protected class RefreshComponentsMemoList implements ICFJRefreshCallback { public RefreshComponentsMemoList() { } public void refreshMe() { Component cont = getParent(); while ((cont != null) && (!(cont instanceof JInternalFrame))) { cont = cont.getParent(); } if (cont != null) { if (!((JInternalFrame) cont).isClosed()) { Collection<ICFAccMemoObj> dataCollection; ICFAccContactObj focus = getSwingFocusAsContact(); if (focus != null) { dataCollection = focus.getOptionalComponentsMemo(swingIsInitializing).values(); } else { dataCollection = null; } JPanel panel = getTabViewComponentsMemoListJPanel(); ICFAccSwingMemoJPanelList jpList = (ICFAccSwingMemoJPanelList) panel; jpList.setSwingDataCollection(dataCollection); } } } } public JPanel getTabViewComponentsMemoListJPanel() { if (tabViewComponentsMemoListJPanel == null) { Collection<ICFAccMemoObj> dataCollection; ICFAccContactObj focus = getSwingFocusAsContact(); if (focus != null) { dataCollection = focus.getOptionalComponentsMemo(swingIsInitializing).values(); } else { dataCollection = null; } ICFAccContactObj swingContainer; if ((focus != null) && (focus instanceof ICFAccContactObj)) { swingContainer = (ICFAccContactObj) focus; } else { swingContainer = null; } tabViewComponentsMemoListJPanel = swingSchema.getMemoFactory().newListJPanel(null, swingContainer, dataCollection, new RefreshComponentsMemoList(), false); } return (tabViewComponentsMemoListJPanel); } protected class RefreshChildrenAccContList implements ICFJRefreshCallback { public RefreshChildrenAccContList() { } public void refreshMe() { Component cont = getParent(); while ((cont != null) && (!(cont instanceof JInternalFrame))) { cont = cont.getParent(); } if (cont != null) { if (!((JInternalFrame) cont).isClosed()) { Collection<ICFAccAccountContactObj> dataCollection; ICFAccContactObj focus = getSwingFocusAsContact(); if (focus != null) { dataCollection = focus.getOptionalChildrenAccCont(swingIsInitializing).values(); } else { dataCollection = null; } JPanel panel = getTabViewChildrenAccContListJPanel(); ICFAccSwingAccountContactJPanelList jpList = (ICFAccSwingAccountContactJPanelList) panel; jpList.setSwingDataCollection(dataCollection); } } } } public JPanel getTabViewChildrenAccContListJPanel() { if (tabViewChildrenAccContListJPanel == null) { Collection<ICFAccAccountContactObj> dataCollection; ICFAccContactObj focus = getSwingFocusAsContact(); if (focus != null) { dataCollection = focus.getOptionalChildrenAccCont(swingIsInitializing).values(); } else { dataCollection = null; } ICFAccAccountObj swingContainer; if ((focus != null) && (focus instanceof ICFAccAccountObj)) { swingContainer = (ICFAccAccountObj) focus; } else { swingContainer = null; } tabViewChildrenAccContListJPanel = swingSchema.getAccountContactFactory().newListJPanel(null, swingContainer, dataCollection, new RefreshChildrenAccContList(), false); } return (tabViewChildrenAccContListJPanel); } public void setPanelMode(CFJPanel.PanelMode value) { CFJPanel.PanelMode oldMode = getPanelMode(); super.setPanelMode(value); if (tabViewComponentsTagListJPanel != null) { ((ICFAccSwingContactTagJPanelCommon) tabViewComponentsTagListJPanel).setPanelMode(value); } if (tabViewComponentsAddressListJPanel != null) { ((ICFAccSwingAddressJPanelCommon) tabViewComponentsAddressListJPanel).setPanelMode(value); } if (tabViewComponentsPhoneListJPanel != null) { ((ICFAccSwingPhoneJPanelCommon) tabViewComponentsPhoneListJPanel).setPanelMode(value); } if (tabViewComponentsContactURLListJPanel != null) { ((ICFAccSwingContactURLJPanelCommon) tabViewComponentsContactURLListJPanel).setPanelMode(value); } if (tabViewComponentsMemoListJPanel != null) { ((ICFAccSwingMemoJPanelCommon) tabViewComponentsMemoListJPanel).setPanelMode(value); } if (tabViewChildrenAccContListJPanel != null) { ((ICFAccSwingAccountContactJPanelCommon) tabViewChildrenAccContListJPanel).setPanelMode(value); } } }