General functionality and UI enhancements (global).

This commit is contained in:
talisman%anamorphic.com 1999-01-10 22:31:08 +00:00
Родитель 19fd3756cc
Коммит 4929e3e8d2
12 изменённых файлов: 89 добавлений и 38 удалений

Просмотреть файл

@ -52,4 +52,5 @@ tar::
--exclude '*.bak' \
--exclude '*~' \
--exclude 'core' \
--exclude '*.orig' \
| gzip -v9 > $(TARFILE)

Просмотреть файл

@ -20,15 +20,20 @@
package grendel.addressbook;
import grendel.addressbook.addresscard.*;
import grendel.widgets.CollapsiblePanel;
import grendel.widgets.GrendelToolBar;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import java.util.Vector;
import javax.swing.*;
import javax.swing.text.*;
import javax.swing.AbstractAction;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
import javax.swing.table.*;
//import javax.swing.table.DefaultTableModel;
import javax.swing.event.TableModelEvent;
@ -45,7 +50,7 @@ public class AddressBook extends JFrame {
private Hashtable mMenuItems;
private JMenuBar mMenubar;
private NSToolbar mTtoolbar;
private GrendelToolBar mTtoolbar;
// private Component mStatusbar;
private JTable mTable;
private JButton mSearchButton;
@ -123,10 +128,10 @@ public class AddressBook extends JFrame {
//create menubar (top)
//merge both the editors commands with this applications commands.
mMenubar = NsMenuManager.createMenuBar("grendel.addressbook.Menus", "grendel.addressbook.MenuLabels", "mainMenubar", defaultActions);
// mMenubar = NsMenuManager.createMenuBar("grendel.addressbook.Menus", "grendel.addressbook.MenuLabels", "mainMenubar", defaultActions);
//collapsble panels holds toolbar.
CollapsibleToolbarPanel collapsePanel = new CollapsibleToolbarPanel(this);
CollapsiblePanel collapsePanel = new CollapsiblePanel(true);
collapsePanel.setBorder (new EmptyBorder(5,5,5,5));
//toolbar buttons
@ -136,7 +141,7 @@ public class AddressBook extends JFrame {
collapsePanel.add(mTtoolbar);
//create status bar (bottom)
// mStatusbar = createStatusbar();
// mStatusbar = createStatusbar();
JPanel panel1 = new JPanel();
panel1.setLayout(new BorderLayout());
@ -373,9 +378,9 @@ public class AddressBook extends JFrame {
* Create a Toolbar
* @see addToolbarButton
*/
private NSToolbar createToolbar() {
private GrendelToolBar createToolbar() {
NSToolbar toolBar = new NSToolbar();
GrendelToolBar toolBar = new GrendelToolBar();
addToolbarButton(toolBar, null, "images/newcard.gif", "Create a new card");
addToolbarButton(toolBar, null, "images/newlist.gif", "Create a new list");
addToolbarButton(toolBar, null, "images/properties.gif", "Edit the selected card");
@ -395,8 +400,8 @@ public class AddressBook extends JFrame {
* @param aToolTip The buttons tool tip. like "Save the current file".
* @see createToolbar
*/
public void addToolbarButton(NSToolbar aToolBar, AbstractAction aActionListener, String aImageName, String aToolTip) {
NSButton b = new NSButton();
public void addToolbarButton(GrendelToolBar aToolBar, AbstractAction aActionListener, String aImageName, String aToolTip) {
JButton b = new JButton();
b.setHorizontalTextPosition(JButton.CENTER);
b.setVerticalTextPosition(JButton.BOTTOM);
@ -420,7 +425,7 @@ public class AddressBook extends JFrame {
// b.setPad(new Insets(3,3,3,3));
// b.addActionListener(aActionListener);
aToolBar.addItem(b);
aToolBar.add(b);
}
private String getFirstEnum (Enumeration enumVals) {

Просмотреть файл

@ -47,6 +47,13 @@ public class AddressBar extends NSTabbedPane {
addTab("", attachmentsIcon, mAttachmentsList);
addTab("", optionsIcon, mOptionsPanel);
setSelectedIndex(0);
setBackgroundAt(0, Color.lightGray);
setBackgroundAt(1, Color.lightGray);
setBackgroundAt(2, Color.lightGray);
setTabPlacement(LEFT);
}
public AddressList getAddressList() {

Просмотреть файл

@ -44,14 +44,16 @@ public class AddressList extends JScrollPane implements Serializable {
super();
//scroll panel
JViewport spViewPort = getViewport();
// JViewport spViewPort = getViewport();
JViewport spViewPort = new JViewport();
// System.out.println(spViewPort.toString());
//create addressList panel
mAddressPanel = new AddressPanel ();
//add address list panel to scroll panel.
spViewPort.add(mAddressPanel);
spViewPort.setView(mAddressPanel);
setViewport(spViewPort);
setBackground (Color.white);
}
@ -424,7 +426,7 @@ public class AddressList extends JScrollPane implements Serializable {
private DeliveryButton mDeliveryButton;
private AddressTextField mAddressTextField;
private DragIcon mDragIcon;
// private boolean mShowDeliveryButton = true;
private boolean mShowDeliveryButton = true;
public AddressLine (Addressee aAddressee) {
super();
@ -706,7 +708,8 @@ public class AddressList extends JScrollPane implements Serializable {
KeyListener { //show popup menu when focus and spacebar pressed.
private int mDeliveryMode;
private Dimension mPerfSize = null;
// private Dimension mPerfSize = null;
private Dimension mPerfSize = new Dimension(50, 20);
private Insets mInsets = new Insets (4, 4, 4, 8);
private PopupMenu mPopup;

Просмотреть файл

@ -24,6 +24,7 @@ package grendel.composition;
import calypso.util.Assert;
import java.awt.BorderLayout;
import java.awt.GridBagConstraints;
import java.util.Properties;
import java.util.Vector;
@ -36,6 +37,8 @@ import javax.swing.event.*;
import grendel.storage.MessageExtra;
import grendel.storage.MessageExtraFactory;
import grendel.widgets.Animation;
import grendel.widgets.CollapsiblePanel;
import grendel.widgets.GrendelToolBar;
import grendel.ui.GeneralFrame;
import grendel.ui.StoreFactory;
@ -69,6 +72,7 @@ public class Composition extends GeneralFrame {
public Composition() {
super("Composition", "mail.composition");
fResourceBase = "grendel.composition";
Box mBox = Box.createVerticalBox();
Session session = StoreFactory.Instance().getSession();
@ -85,20 +89,37 @@ public class Composition extends GeneralFrame {
getRootPane().setMenuBar(fMenu);
fToolBar = mCompositionPanel.getToolBar();
fToolBar.add(fToolBar.makeNewSpring());
// fToolBar.addItem(ToolbarFactory.MakeINSToolbarItem(ToolBarLayout.CreateSpring(),
// null));
// fToolBar.addItem(ToolbarFactory.MakeINSToolbarItem(fAnimation, null));
mAddressBar = mCompositionPanel.getAddressBar();
//top collapsible item
fToolBarPanel.add(fToolBar);
//bottom collapsible item
fToolBarPanel.add(mAddressBar);
fToolBarPanelConstraints.anchor = GridBagConstraints.WEST;
fToolBarPanelConstraints.fill = GridBagConstraints.HORIZONTAL;
fToolBarPanelConstraints.weightx = 10.0;
fToolBarPanel.add(fToolBar, fToolBarPanelConstraints);
fToolBarPanelConstraints.anchor = GridBagConstraints.EAST;
fToolBarPanelConstraints.fill = GridBagConstraints.NONE;
fToolBarPanelConstraints.weightx = 1.0;
fToolBarPanelConstraints.gridwidth = GridBagConstraints.REMAINDER;
fToolBarPanel.add(fAnimation, fToolBarPanelConstraints);
mBox.add(fToolBarPanel);
//bottom item
// fToolBarPanelConstraints.gridwidth = GridBagConstraints.RELATIVE;
//fToolBarPanelConstraints.fill = GridBagConstraints.HORIZONTAL;
//fToolBarPanelConstraints.weightx = 5.0;
//fToolBarPanel.add(mAddressBar, fToolBarPanelConstraints);
mBox.add(mAddressBar);
fPanel.add(BorderLayout.NORTH, mBox);
fStatusBar = buildStatusBar();
fPanel.add(BorderLayout.SOUTH, fStatusBar);
//mCompositionPanel.add(BorderLayout.NORTH, mAddressBar);
fPanel.add(mCompositionPanel);
restoreBounds();

Просмотреть файл

@ -30,6 +30,7 @@ import java.awt.Container;
import java.awt.FileDialog;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Insets;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
@ -55,7 +56,6 @@ import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.JTextArea;
import javax.swing.JToolBar;
import javax.swing.border.BevelBorder;
import javax.swing.event.ChangeEvent;
import javax.swing.event.EventListenerList;
@ -77,6 +77,8 @@ import grendel.storage.MessageExtraFactory;
import grendel.ui.ActionFactory;
import grendel.ui.GeneralPanel;
import grendel.ui.UIAction;
import grendel.widgets.CollapsiblePanel;
import grendel.widgets.GrendelToolBar;
public class CompositionPanel extends GeneralPanel {
private Hashtable mCommands;
@ -704,9 +706,10 @@ public class CompositionPanel extends GeneralPanel {
* Create a Toolbar
* @see addToolbarButton
*/
private JToolBar createToolbar() {
private GrendelToolBar createToolbar() {
GrendelToolBar toolBar = new GrendelToolBar();
JToolBar toolBar = new JToolBar();
addToolbarButton(toolBar, new SendNow(),
"send", "Send this message");
addToolbarButton(toolBar, new QuoteOriginalText(),
@ -736,7 +739,7 @@ public class CompositionPanel extends GeneralPanel {
* @param aToolTip The buttons tool tip. like "Save the current file".
* @see createToolbar
*/
public void addToolbarButton(JToolBar aToolBar,
public void addToolbarButton(GrendelToolBar aToolBar,
UIAction aActionListener,
String aImageName,
String aToolTip) {
@ -744,6 +747,9 @@ public class CompositionPanel extends GeneralPanel {
b.setHorizontalTextPosition(JButton.CENTER);
b.setVerticalTextPosition(JButton.BOTTOM);
b.setRolloverEnabled(true);
b.setBorder(BorderFactory.createEmptyBorder());
b.setMargin(new Insets(5,5,5,5));
b.setToolTipText(aToolTip);
URL iconUrl = getClass().getResource("images/" + aImageName + ".gif");

Просмотреть файл

@ -26,19 +26,17 @@ import javax.swing.JTabbedPane;
import javax.swing.plaf.basic.BasicTabbedPaneUI;
import javax.swing.*;
import javax.swing.plaf.*;
import javax.swing.plaf.metal.MetalTabbedPaneUI;
//import netscape.orion.toolbars.*;
//import pk.core.*;
public class NSTabbedPane extends JTabbedPane {
protected JTabbedPane fTabbedPane;
protected Object fID = null;
protected String fName = null;
protected String fFloatingTitle = "";
public NSTabbedPane() {
fTabbedPane = new JTabbedPane();
fTabbedPane.setUI(new MyTabbedPaneUI());
super.setUI(new MyTabbedPaneUI());
setBorder(BorderFactory.createLoweredBevelBorder());
}
/**
@ -71,14 +69,14 @@ public class NSTabbedPane extends JTabbedPane {
* adds a new tab.
*/
public void addTab(String aLabel, ImageIcon aIcon, Component mAddressList) {
fTabbedPane.addTab(aLabel, aIcon, mAddressList);
super.addTab(aLabel, aIcon, mAddressList);
}
/**
* set tab selection
*/
public void setSelectedIndex(int aIndex) {
fTabbedPane.setSelectedIndex (aIndex);
super.setSelectedIndex(aIndex);
}
/**
@ -113,17 +111,17 @@ public class NSTabbedPane extends JTabbedPane {
* gets the component associated with the toolbar
*/
public Component getComponent() {
return fTabbedPane;
return this;
}
//***************************
public class MyTabbedPaneUI extends BasicTabbedPaneUI {
public class MyTabbedPaneUI extends MetalTabbedPaneUI {
public Dimension getPreferredSize(JComponent container) {
int widest = 0;
int tallest = 0;
//return the component with the largst preferred size.
Component[] comps = fTabbedPane.getComponents();
Component[] comps = container.getComponents();
for (int i = 0; i < comps.length; i++) {
Dimension dim = comps[i].getPreferredSize();

Просмотреть файл

@ -27,7 +27,8 @@ import javax.swing.*;
import javax.swing.border.*;
public class OptionsPanel extends JPanel implements Serializable {
private final int BOX_WIDTH = 300;
// private final int BOX_WIDTH = 300;
private final int BOX_WIDTH = 160;
private final int BOX_HEIGHT = 30;
public OptionsPanel () {
@ -80,9 +81,12 @@ public class OptionsPanel extends JPanel implements Serializable {
class FixedSizedPanel extends JPanel {
FixedSizedPanel (int aWidth, int aHeight, Component aComp) {
setPreferredSize (new Dimension (aWidth, aHeight));
setLayout (new BorderLayout ());
setMaximumSize (getPreferredSize());
// setLayout (new BorderLayout ());
setLayout (new GridLayout(1,1,5,5));
setBorder (BorderFactory.createEmptyBorder (0, 5, 0, 0));
add ("West", aComp);
// add ("West", aComp);
add (aComp);
}
}

Просмотреть файл

@ -1,2 +0,0 @@
text/plain: com.sun.mail.handlers.text_plain
multipart/mixed: com.sun.mail.handlers.multipart_mixed

Просмотреть файл

@ -48,6 +48,8 @@ SRCS= \
SimpleAuthenticator.java \
SimpleMessageHeader.java \
StoreFactory.java \
ToolBarLayout.java \
UIAction.java \
UIFactory.java \
UnifiedMessageDisplayManager.java \
Util.java \

Просмотреть файл

@ -25,6 +25,7 @@ multiView=viewLayout viewSort
multiMessage=msgNew - msgReply msgReplyAll msgForward msgForwardQuoted - msgMark
multiToolBar=msgGetNew msgNew msgReply msgForward print msgDelete stop
#multiToolBar=msgGetNew msgNew msgReply msgDelete
viewLayout=splitTop splitLeft splitRight stacked
@ -39,6 +40,8 @@ messageMessage=msgNew - msgReply msgReplyAll msgForward msgForwardQuoted
messageToolBar=msgGetNew msgNew msgReply msgForward print msgDelete stop
#messageToolBar=msgGetNew msgNew
#
# Folder Frame menus
#
@ -49,6 +52,7 @@ folderEdit=editUndo - editCut editCopy editPaste editClear - appPrefs
folderMessage=msgNew - msgReply msgReplyAll msgForward msgForwardQuoted
folderToolBar=msgGetNew msgNew msgReply msgForward markAllRead print msgDelete stop
#folderToolBar=msgGetNew msgNew msgDelete msgReply
#
# Master Frame menus
@ -59,6 +63,7 @@ masterFile=msgNew folderOpen - msgGetNew - appExit
masterEdit=editUndo - editCut editCopy editPaste editClear - appPrefs
masterToolBar=msgGetNew msgNew stop
#masterToolBar=msgGetNew msgNew
#
# Integrator Frame menus

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0"?>
<xml>
<head>
<link role="stringprops" href="MenuLabels.properties"/>