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
88
89
90
91
92
93
94
95
|
package org.litesoft.aokeyhole.swing;
import java.awt.*;
import java.io.*;
import javax.swing.*;
import org.litesoft.aokeyhole.*;
import org.litesoft.aokeyhole.objects.*;
import org.litesoft.aokeyhole.objects.factories.*;
import org.litesoft.aokeyhole.persist.*;
import org.litesoft.aokeyhole.toolkit.*;
import org.litesoft.aokeyhole.toolkit.editorviewer.*;
public abstract class AbstractSwingMain extends AbstractMain
{
private BoxedTextCanvas mBoxedTextCanvas;
private ObjectAndAttributesWithOneDegreeSeperationFrame mFrame;
protected AbstractSwingMain( SubSystemFactory pSubSystemFactory, EditViewPanelFactory pEditViewPanelFactory, PersistableProxy[] pPersistables,
boolean pReadOnly )
throws IOException
{
super( pSubSystemFactory, pEditViewPanelFactory, pPersistables, pReadOnly );
}
protected void buildUI( String pVersion, SystemMetaData pSystemMetaData, EditViewPanelController pEditViewPanelController )
{
mBoxedTextCanvas = new BoxedTextCanvas( createBoxedTextClickListener(), 600 );
mFrame = new ObjectAndAttributesWithOneDegreeSeperationFrame( pVersion, createObjectListClickListener(), mBoxedTextCanvas,
(Component) pEditViewPanelController );
pSystemMetaData.add( mFrame.getSystemSaveChangeCallback() );
setObjectListUpdater( mFrame.getObjectListUpdater() );
}
protected void showUI()
{
mFrame.pack();
mFrame.setVisible( true );
}
protected ObjectAndAttributesWithOneDegreeSeperationView createObjectAndAttributesWithOneDegreeSeperationView()
{
return new ObjectAndAttributesWithOneDegreeSeperationGraphicView();
}
protected void setObjectAndAttributesWithOneDegreeSeperationView( ObjectAndAttributesWithOneDegreeSeperationView pOAV )
{
mBoxedTextCanvas.setScaledDrawableBoxedTextClickable( (ScaledDrawableBoxedTextClickable) pOAV );
}
/**
* Called on BOTH the Main & UI Event Thread
*
* @param pMessage - null OK
*
* @return pMessage
*/
protected String updateStatus( String pMessage )
{
if ( SwingUtilities.isEventDispatchThread() )
{
setStatus( pMessage );
}
else
{
SwingUtilities.invokeLater( new StatusOnUI( pMessage ) );
}
return pMessage;
}
private class StatusOnUI implements Runnable
{
private String mMessage;
public StatusOnUI( String pMessage )
{
mMessage = pMessage;
}
public void run()
{
setStatus( mMessage );
}
}
/**
* Called on the UI Event Thread
*/
protected void setStatus( String pMessage )
{
String uiMessage = ((pMessage == null) || (pMessage.length() == 0)) ? " " : pMessage;
mFrame.getStatusLabel().setText( uiMessage );
}
}
|
Revision |
Author |
Commited |
Message |
2
|
GeorgeS
|
Sun 07 Feb, 2010 12:50:58 +0000 |
|