Our company created our own version of tables that we wanted to mimic more
closely to Excel than HTML tables. We are doing this by TLF recognizing the
table as being an InlineGraphicElement but we just replace the source with
a Sprite that has our custom table UI.

We have a ITableSelectionManager that extends ISelectionManager. Here are
some of the other things we have in our ITableSelectionManager

public interface ITableSelectionManager extends ISelectionManager,
IEventDispatcher, IDisposable
 {
function get table():IWFInternalTable;
function set table(value:IWFInternalTable):void
 function get composer():ITableComposer;
 function get pointEditModeAvailable():Boolean;
function set pointEditModeAvailable(value:Boolean):void;
 function getCommonTextFormat(range:TableRange=null):ITextLayoutFormat;
function getCommonValueFormat(range:TableRange=null):IValueFormat;
 function getCommonPrecisionAndScale(range:TableRange =
null):CommonValueFormatProperties;
function rangeContainsFormulaOrUsage(range:TableRange=null):Boolean;
 //Table Properties
function get selection():TableSelection;
 function setSelection(range:TableSelection, scrollDirection:String =
"both", forceCommit:Boolean = false, scrollToLimitRange:Boolean =
true):void;
 function get cutCopyRange():TableRange;
function set cutCopyRange(range:TableRange):void;
 function get allowedScrollDirection():String;
 function get isMouseDown():Boolean;
 function hasMultipleSelections():Boolean;

function get allRowsSelected():Boolean;
 function get allColumnsSelected():Boolean;

//used to track the controller events are coming from since we
 // can't pass in function since we need to match TLF interfaces
function get eventController():ITableContainerController;
 function set eventController(value:ITableContainerController):void;
function copyHandler(event:Event):void;
 function selectAllHandler(event:Event):void;
}


On Tue, May 27, 2014 at 1:54 PM, Harbs <harbs.li...@gmail.com> wrote:

> I guess if we discover that it’s a problem, we can always revert
> ISelectionManager and create a new interface for cell selection. But I
> agree that it’s highly unlikely that it’s a problem.
>
> On May 27, 2014, at 9:46 PM, Alex Harui <aha...@adobe.com> wrote:
>
> > That's probably fine.  However, consider that some folks are using
> > third-party libraries that no longer have active developers so they won't
> > always be able to fix it.  Still, I will be surprised if we break
> anybody.
> >
> > -Alex
> >
> > On 5/27/14 9:32 AM, "Harbs" <harbs.li...@gmail.com> wrote:
> >
> >> Okay. I’m going to just implement it in ISelectionManager. On the odd
> >> chance that I do break someone’s implementation, it should be a
> >> relatively easy job to add some blank functions to honor the interface
> >> promise (assuming they don’t need the table support).
> >>
> >> On May 27, 2014, at 6:22 PM, Alex Harui <aha...@adobe.com> wrote:
> >>
> >>> If someone has their own implementation of an interface, adding an API
> >>> to
> >>> an interface can break them.  The verifier will see that not all
> methods
> >>> are implemented.
> >>>
> >>> It is a trade-off.  You can create an ISelectionManager2 or
> >>> ITableSelectionManager to be completely safe, but the odds you will
> >>> break
> >>> someone is probably very low.
> >>>
> >>> -Alex
> >>>
> >>> On 5/27/14 3:47 AM, "Erik de Bruin" <e...@ixsoftware.nl> wrote:
> >>>
> >>>> Adding to an API shouldn't be a problem, as long as the new
> >>>> methods/properties don't change anything about the existing
> >>>> implementation...
> >>>>
> >>>> EdB
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> On Tue, May 27, 2014 at 12:42 PM, Harbs <harbs.li...@gmail.com>
> wrote:
> >>>>
> >>>>> I¹m working on cell selection of TLF tables.
> >>>>>
> >>>>> Cell selections does not fit into the normal index based selection
> >>>>> concept
> >>>>> of text. To support cell selection, I need coordinate-based selection
> >>>>> (to
> >>>>> support rectangular selections within a table).
> >>>>>
> >>>>> Basically, I want to add some table-specific functions to
> >>>>> ISelectionManager and SelectionManager. My question is whether this
> >>>>> might
> >>>>> cause problems for users who might have implemented ISelectionManager
> >>>>> and
> >>>>> whether I should be concerned about that and/or what there is to do
> >>>>> about
> >>>>> it.
> >>>>>
> >>>>> Thoughts?
> >>>>> Harbs
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>> Ix Multimedia Software
> >>>>
> >>>> Jan Luykenstraat 27
> >>>> 3521 VB Utrecht
> >>>>
> >>>> T. 06-51952295
> >>>> I. www.ixsoftware.nl
> >>>
> >>
> >
>
>

Reply via email to