Subversion Repository Public Repository

litesoft

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
package org.litesoft.aokeyhole.swing;

import org.litesoft.aokeyhole.toolkit.*;
import org.litesoft.aokeyhole.objects.support.*;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class ObjectAndAttributesWithOneDegreeSeperationFrame extends Frame
{
    private static final String NO_STATUS = " ";

    private ObjectListUpdater mObjectListUpdater;
    private ChangeCallback mSystemSaveChangeCallback;
    private JLabel mStatusLabel;

    public ObjectAndAttributesWithOneDegreeSeperationFrame( String pVersion,
                                                            ObjectListClickListener pObjectListClickListener,
                                                            BoxedTextCanvas pCanvas,
                                                            Component pPropertiesPanel )
    {
        setTitle( "KeyHole Object Graph MetaData vs " + pVersion );

        ObjectListAndSavePanel ols = new ObjectListAndSavePanel( pObjectListClickListener );
        mObjectListUpdater = ols;
        mSystemSaveChangeCallback = ols;

        addWindowListener( new WindowAdapter()
        {
            public void windowClosing( WindowEvent e )
            {
                System.exit( 0 );
            }
        } );

        setLayout( new BorderLayout() );

        add( ols, BorderLayout.WEST );
        add( pCanvas, BorderLayout.CENTER );
        add( pPropertiesPanel, BorderLayout.EAST );
        add( createStatusPanel(), BorderLayout.SOUTH );
    }

    private JPanel createStatusPanel()
    {
        JPanel panel = new JPanel( new BorderLayout( 0, 0 ) );
        panel.add( mStatusLabel = new StatusLabel( NO_STATUS ), BorderLayout.CENTER );
        return panel;
    }

    public ChangeCallback getSystemSaveChangeCallback()
    {
        return mSystemSaveChangeCallback;
    }

    public ObjectListUpdater getObjectListUpdater()
    {
        return mObjectListUpdater;
    }

    public JLabel getStatusLabel()
    {
        return mStatusLabel;
    }

    private static class StatusLabel extends JLabel
    {
        public StatusLabel( String text )
        {
            super( text );

            Font font = getFont();
            setFont( new Font( font.getName(), font.getStyle(), font.getSize() + 3 ) );

            setOpaque( true );

            setBorder( BorderFactory.createCompoundBorder( BorderFactory.createLoweredBevelBorder(), BorderFactory.createEmptyBorder( 0, 4, 0, 4 ) ) );
        }

        public Dimension getPreferredSize()
        {
            Dimension basePreferredSize = super.getPreferredSize();
            return new Dimension( basePreferredSize.width, basePreferredSize.height + 5 );
        }
    }
}

Commits for litesoft/trunk/Java/KeyHole/src/org/litesoft/aokeyhole/swing/ObjectAndAttributesWithOneDegreeSeperationFrame.java

Diff revisions: vs.
Revision Author Commited Message
2 GeorgeS picture GeorgeS Sun 07 Feb, 2010 12:50:58 +0000