|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object facets.util.Tracer facets.core.superficial.TargetCore facets.core.superficial.app.IndexingTarget facets.core.superficial.app.SAreaTarget
public class SAreaTarget
Represents viewers and other surface areas to the targeter tree.
SAreaTarget
manages updating and focus for trees of viewers
and other facets, being the target of a directly attached facet
which it represents within an area target tree.
Much key functionality is defined in the IndexingTarget
superclass.
The IndexingTarget.indexableTargets()
of an SAreaTarget
must
comprise one of
SFrameTarget
or ViewerTarget
SAreaTarget
s
A tree of SAreaTarget
s therefore terminates in SFrameTarget
or ViewerTarget
leaves.
The facets attached to and represented in the application by
FacetedTarget
(SAreaTarget
and ViewerTarget
) members of a tree generally form a containment hierarchy
of tabs/windows and panes.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface facets.core.superficial.STarget |
---|
STarget.Targeted |
Nested classes/interfaces inherited from interface facets.core.superficial.Notifying |
---|
Notifying.Impact |
Field Summary | |
---|---|
static int |
AREA_LOWEST
|
static STarget[] |
EMPTY_AREA_CHILDREN
|
Fields inherited from class facets.core.superficial.TargetCore |
---|
targets |
Fields inherited from interface facets.core.superficial.STarget |
---|
NONE |
Constructor Summary | |
---|---|
SAreaTarget(java.lang.String title,
SIndexing children)
Core constructor which sets indexing. |
|
SAreaTarget(java.lang.String title,
STarget... indexableChildren)
Convenience constructor setting indexable children. |
Method Summary | |
---|---|
SFrameTarget |
activeContent()
The SFrameTarget framing the content exposed by
the active facet. |
FacetedTarget |
activeFacet()
The FacetedTarget representing the contained viewer or area facet
that should have the focus. |
SAreaTarget |
areaParent()
The parent in the area target tree. |
SFacet |
attachedFacet()
The SFacet attached with FacetedTarget.attachFacet(SFacet) . |
void |
attachFacet(SFacet facet)
Attach an immutable facet. |
void |
attachThenFacets(SAreaTarget rootThen)
Attaches existing facet to a new area tree. |
protected boolean |
blockNotification()
Enables notification to be restricted to this member of the tree. |
STarget[] |
descendants()
Depth-first traversal of this area tree, including the root. |
void |
ensureActive(boolean notify)
Ensure that the targeter tree treats the faceted as having the GUI focus. |
STarget[] |
facetTargets()
Convenience method. |
java.lang.Object |
identity()
Return an object that is as far as possible unique for the implementation. |
Notifying.Impact |
impact()
Allows this Notifying to specify a default Notifying.Impact . |
boolean |
isActive()
Should the targeter tree treat the facet as having the GUI focus? |
Notifiable |
monitor()
The current Notifiable in the notification tree,
as set with setMonitor . |
protected TypedNode[] |
newDebugChildren()
Create a TypedNode[] representation of this Notifying
for debug purposes. |
protected static TypedNode |
newDebugContentNode(java.lang.String title,
java.lang.Object source)
|
protected static TypedNode |
newDebugContentNode(java.lang.String title,
java.lang.Object[] source)
|
protected static TypedNode |
newDebugMonitorNode(Notifiable monitor)
|
TypedNode |
newGraphNode()
Returns a descriptive node for use in debug object graph. |
STargeter |
newTargeter()
Must return an AreaTargeter . |
static SAreaTarget |
newViewerArea(ViewerTarget viewerTarget)
Convenience method to a wrap single viewer in area. |
void |
notify(Notice notice)
Respond to the Notice passed. |
void |
notifyMonitor(Notifying.Impact impact)
Call notify on the parent monitor in the notification tree,
typically with itself as parameter to the Notice passed. |
void |
retargetFacets(Notifying.Impact impact)
Implements interface method. |
void |
setIndexing(SIndexing children)
Overrides superclass method. |
void |
setMonitor(Notifiable monitor)
Attach the Notifying to a Notifiable parent
in the notification tree. |
Methods inherited from class facets.core.superficial.app.IndexingTarget |
---|
indexableTargets, indexedTarget, indexing, notifiesTargeter, parent, setLive, toString |
Methods inherited from class facets.core.superficial.TargetCore |
---|
elements, findMonitorOfType, isLive, join, lazyElements, setElements, title, wantsFocus |
Methods inherited from class facets.util.Tracer |
---|
trace, trace, trace, trace, trace, traceDebug, traceDebug, traceObjectText, traceOutput, traceOutputWithClass |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface facets.core.superficial.STarget |
---|
elements, isLive, setLive, wantsFocus |
Methods inherited from interface facets.util.Titled |
---|
title |
Methods inherited from interface facets.core.superficial.Notifying |
---|
impact, monitor, notifyMonitor, setMonitor |
Methods inherited from interface facets.core.superficial.Notifiable |
---|
notify |
Field Detail |
---|
public static final int AREA_LOWEST
public static final STarget[] EMPTY_AREA_CHILDREN
Constructor Detail |
---|
public SAreaTarget(java.lang.String title, SIndexing children)
title
- passed to superclasschildren
- passed to superclasspublic SAreaTarget(java.lang.String title, STarget... indexableChildren)
title
- passed to the core constructorindexableChildren
- passed to the core constructor in an
SIndexing
with a default coupler.Method Detail |
---|
public final void setIndexing(SIndexing children)
setIndexing
in class IndexingTarget
children
- must return
as its indexables
a non-empty STarget
[]
which is either
STarget
[] containing either
a ViewerTarget
or a SFrameTarget
AreaTarget[]
public STargeter newTargeter()
AreaTargeter
.
newTargeter
in class IndexingTarget
public final void attachFacet(SFacet facet)
FacetedTarget
As a STarget
representing its FacetedTarget.attachedFacet()
,
FacetedTarget
can only attach a single viewer or area facet;
it should complain if any attempt is made to attach another.
attachFacet
in interface Facetable
attachFacet
in interface FacetedTarget
facet
- will be applied during each retargeting sequencepublic final SFacet attachedFacet()
FacetedTarget
SFacet
attached with FacetedTarget.attachFacet(SFacet)
.
Return the facet attached to this FacetedTarget
,
complaining if none yet attached.
attachedFacet
in interface FacetedTarget
public final void retargetFacets(Notifying.Impact impact)
In addition to to retargeting any attachedFacet()
, calls
Facetable.retargetFacets(Notifying.Impact)
in all IndexingTarget.indexableTargets()
,
starting with IndexingTarget.indexedTarget()
to minimise apparent latency.
retargetFacets
in interface Facetable
public final boolean isActive()
FacetedTarget
isActive
in interface FacetedTarget
public final void ensureActive(boolean notify)
FacetedTarget
ensureActive
in interface FacetedTarget
notify
- if true
, also trigger a retargetingNotifying
public final STarget[] facetTargets()
STarget.Targeted.targets()
in
attachedFacet()
public final FacetedTarget activeFacet()
FacetedTarget
representing the contained viewer or area facet
that should have the focus.
Checks the IndexingTarget.indexedTarget()
of this SAreaTarget
and its descendents until it finds the last that is a FacetedTarget
.
public final SFrameTarget activeContent()
SFrameTarget
framing the content exposed by
the active facet.
Checks the IndexingTarget.indexedTarget()
of this SAreaTarget
and its descendents until it finds one that is not an SAreaTarget
;
returns this if not a ViewerTarget
, otherwise its
ViewerTargetCore.viewable
.
public final STarget[] descendants()
public final void attachThenFacets(SAreaTarget rootThen)
Also applies the old area path to the new tree.
rootThen
- heads the area tree to which the existing facet are attachedpublic static final SAreaTarget newViewerArea(ViewerTarget viewerTarget)
Passes to core constructor the title
of viewerFrame
,
which is wrapped in an SIndexing
of the same title.
protected TypedNode[] newDebugChildren()
TypedNode[]
representation of this Notifying
for debug purposes.
newDebugChildren
in class IndexingTarget
public final SAreaTarget areaParent()
FacetedTarget
areaParent
in interface FacetedTarget
protected static final TypedNode newDebugContentNode(java.lang.String title, java.lang.Object source)
protected static final TypedNode newDebugContentNode(java.lang.String title, java.lang.Object[] source)
protected static final TypedNode newDebugMonitorNode(Notifiable monitor)
public final TypedNode newGraphNode()
public Notifying.Impact impact()
Notifying
Notifying
to specify a default Notifying.Impact
.
impact
in interface Notifying
Notifying.Impact.DEFAULT
public java.lang.Object identity()
Identified
This will usually be a class instance counter.
identity
in interface Identified
public final Notifiable monitor()
Notifiable
in the notification tree,
as set with setMonitor
.
Complains if no parent has been set.
monitor
in interface Notifying
public void notify(Notice notice)
Notifiable
Notice
passed.
When this method is called, the Notifiable
should
respond based on
Notice
passed.
notify
in interface Notifiable
public final void notifyMonitor(Notifying.Impact impact)
Notifying
notify
on the parent monitor in the notification tree,
typically with itself as parameter to the Notice
passed.
Has no effect if no monitor has been set.
This is the usual means to trigger a surface retargeting, being called
by an exposing SFacet
on its target.
notifyMonitor
in interface Notifying
impact
- suggests the level of retargeting requiredprotected boolean blockNotification()
Checked by notify(Notice)
; default returns false
.
public final void setMonitor(Notifiable monitor)
Notifying
Notifying
to a Notifiable
parent
in the notification tree.
setMonitor
in interface Notifying
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |