Subversion Repository Public Repository

litesoft

Diff Revisions 949 vs 950 for /trunk/Java/KeyHole/src/org/litesoft/aokeyhole/swing/BoxedTextCanvas.java

Diff revisions: vs.
  @@ -1,67 +1,67 @@
1 - // This Source Code is in the Public Domain per: http://unlicense.org
2 - package org.litesoft.aokeyhole.swing;
3 -
4 - import org.litesoft.aokeyhole.toolkit.*;
5 -
6 - import java.awt.*;
7 - import java.awt.event.*;
8 -
9 - public class BoxedTextCanvas extends Canvas implements View {
10 - private ScaledDrawableBoxedTextClickable mScaledDrawableBoxedTextClickable = ScaledDrawableBoxedTextClickableNull.INSTANCE;
11 - private BoxedTextClickListener mBoxedTextClickListener;
12 - private Dimension mSize;
13 -
14 - BoxedTextCanvas( BoxedTextClickListener pBoxedTextClickListener, int pSize ) {
15 - mBoxedTextClickListener = (pBoxedTextClickListener != null) ? pBoxedTextClickListener : BoxedTextClickListenerNull.INSTANCE;
16 - mSize = new Dimension( pSize, pSize );
17 -
18 - addComponentListener( new ComponentAdapter() {
19 - @Override
20 - public void componentResized( ComponentEvent e ) {
21 - updateSize( getSize() );
22 - }
23 - } );
24 -
25 - addMouseListener( new MouseAdapter() {
26 - @Override
27 - public void mousePressed( MouseEvent e ) {
28 - BoxedText bt = mScaledDrawableBoxedTextClickable.getClickedOn( e.getPoint() );
29 - if ( bt != null ) {
30 - mBoxedTextClickListener.clickedOn( bt );
31 - }
32 - }
33 - } );
34 - }
35 -
36 - public void setScaledDrawableBoxedTextClickable( ScaledDrawableBoxedTextClickable pScaledDrawableBoxedTextClickable ) {
37 - if ( pScaledDrawableBoxedTextClickable == null ) {
38 - pScaledDrawableBoxedTextClickable = ScaledDrawableBoxedTextClickableNull.INSTANCE;
39 - }
40 - if ( pScaledDrawableBoxedTextClickable != mScaledDrawableBoxedTextClickable ) {
41 - mScaledDrawableBoxedTextClickable.dispose();
42 - mScaledDrawableBoxedTextClickable = pScaledDrawableBoxedTextClickable;
43 - update();
44 - }
45 - }
46 -
47 - private void updateSize( Dimension pSize ) {
48 - if ( !pSize.equals( mSize ) ) {
49 - mSize = pSize;
50 - }
51 - }
52 -
53 - @Override
54 - public Dimension getPreferredSize() {
55 - return mSize;
56 - }
57 -
58 - @Override
59 - public void update() {
60 - repaint();
61 - }
62 -
63 - @Override
64 - public void paint( Graphics g ) {
65 - mScaledDrawableBoxedTextClickable.draw( g, getSize() );
66 - }
67 - }
1 + // This Source Code is in the Public Domain per: http://unlicense.org
2 + package org.litesoft.aokeyhole.swing;
3 +
4 + import org.litesoft.aokeyhole.toolkit.*;
5 +
6 + import java.awt.*;
7 + import java.awt.event.*;
8 +
9 + public class BoxedTextCanvas extends Canvas implements View {
10 + private ScaledDrawableBoxedTextClickable mScaledDrawableBoxedTextClickable = ScaledDrawableBoxedTextClickableNull.INSTANCE;
11 + private BoxedTextClickListener mBoxedTextClickListener;
12 + private Dimension mSize;
13 +
14 + BoxedTextCanvas( BoxedTextClickListener pBoxedTextClickListener, int pSize ) {
15 + mBoxedTextClickListener = (pBoxedTextClickListener != null) ? pBoxedTextClickListener : BoxedTextClickListenerNull.INSTANCE;
16 + mSize = new Dimension( pSize, pSize );
17 +
18 + addComponentListener( new ComponentAdapter() {
19 + @Override
20 + public void componentResized( ComponentEvent e ) {
21 + updateSize( getSize() );
22 + }
23 + } );
24 +
25 + addMouseListener( new MouseAdapter() {
26 + @Override
27 + public void mousePressed( MouseEvent e ) {
28 + BoxedText bt = mScaledDrawableBoxedTextClickable.getClickedOn( e.getPoint() );
29 + if ( bt != null ) {
30 + mBoxedTextClickListener.clickedOn( bt );
31 + }
32 + }
33 + } );
34 + }
35 +
36 + public void setScaledDrawableBoxedTextClickable( ScaledDrawableBoxedTextClickable pScaledDrawableBoxedTextClickable ) {
37 + if ( pScaledDrawableBoxedTextClickable == null ) {
38 + pScaledDrawableBoxedTextClickable = ScaledDrawableBoxedTextClickableNull.INSTANCE;
39 + }
40 + if ( pScaledDrawableBoxedTextClickable != mScaledDrawableBoxedTextClickable ) {
41 + mScaledDrawableBoxedTextClickable.dispose();
42 + mScaledDrawableBoxedTextClickable = pScaledDrawableBoxedTextClickable;
43 + update();
44 + }
45 + }
46 +
47 + private void updateSize( Dimension pSize ) {
48 + if ( !pSize.equals( mSize ) ) {
49 + mSize = pSize;
50 + }
51 + }
52 +
53 + @Override
54 + public Dimension getPreferredSize() {
55 + return mSize;
56 + }
57 +
58 + @Override
59 + public void update() {
60 + repaint();
61 + }
62 +
63 + @Override
64 + public void paint( Graphics g ) {
65 + mScaledDrawableBoxedTextClickable.draw( g, getSize() );
66 + }
67 + }