TJ,

Would you mind commenting... Is what I'm trying to do possible via
AFL... (i.e. an extension of Bruce's code)? Or are we going to have to
wait for your expertise to hard code it...?

TIA


--- In [email protected], "bruce1r" <bru...@...> wrote:
>
> That may have to wait for Tomasz.  To do that you would have to
> "register" and identify specify window documents.  Right now, I can't
> see a way for a document window to identify its number in the document
> collection and "register" that for refresh.
> 
> 
> --- In [email protected], "sidhartha70" <sidhartha70@> wrote:
> >
> > Specifically Bruce, I have say 10 Charts open across two monitors, and
> > I actually want to 'zoom link' just 4 of them, leaving all the others
> > completely unaffected.
> > 
> > Is that possible...?
> > 
> > --- In [email protected], "sidhartha70" <sidhartha70@> wrote:
> > >
> > > Thanks Bruce.
> > > 
> > > Unfortuantely it doesn't seem to work for me... I end up with some
> > > very strange behaviour. Windows zooming in and out at will,
> > > independently...
> > > 
> > > Maybe it's screen setup dependent...??
> > > 
> > > 
> > > 
> > > --- In [email protected], "bruce1r" <brucer@> wrote:
> > > >
> > > > Had done it before, so until Tomasz gets to it -
> > > > 
> > > >
> > >
> >
>
//--------------------------------------------------------------------------------------------------
> > > > //
> > > > //  This function checks the current display range, and if it has
> > > > changed, it
> > > > //  synchronizes all other windows (documents) to that range.  
> > > > //
> > > > //  To use, #include this file in an indicator in each window
> > > > (document) to be 
> > > > //  synchronized.  Normally it sync's other windows
(documents) when
> > > > the caller's
> > > > //  displayed date range changes, but it has an optional
> parameter to
> > > > force a re-sync.
> > > > //
> > > > //  NOTE - the only downside is that the blank bars on the right
> > > side are
> > > > //         removed by the ZoomToRange method
> > > > //
> > > > //  Bruce R - 12/10/08
> > > > //
> > > >
> > >
> >
>
//--------------------------------------------------------------------------------------------------
> > > > 
> > > > function ZoomSync( force )
> > > > {
> > > >         //  All variables are made local to guarantee naming
collisions or
> > > > side effects
> > > >         local                   bv, dr, Curstdt, Curenddt, prevstdt, 
> > > > prevenddt, Curststr,
> > > > Curendstr;
> > > >         local                   OAB, OAD, dcount, i, OADoc, OAW, 
> > > > OADocWin, res;
> > > > 
> > > >         //  Get a count of the number of documents
> > > >         OAB                             = CreateObject( 
> > > > "Broker.Application" );
> > > >         OAD                             = OAB.Documents;
> > > >         dcount                  = OAD.Count;
> > > > 
> > > >         //  Process multiple windows (documents)
> > > >         res                             = False;
> > > >         if ( dcount > 1 )
> > > >         {
> > > >                 //  Get current and last start and end DateTimes's
> > > >                 bv                              = Status( "barvisible" 
> > > > );
> > > >                 dt                              = DateTime( );
> > > >                 Curstdt         = LastValue( Lowest( IIf( bv, dt, 
> > > > LastValue( dt ) )
) );
> > > >                 Curenddt                = LastValue( Highest( IIf( bv, 
> > > > dt, 0 ) ) );
> > > >                 prevstdt                = Nz( StaticVarGet( "_prevstdt" 
> > > > ) );
> > > >                 prevenddt               = Nz( StaticVarGet( 
> > > > "_prevenddt" ) );
> > > > 
> > > >                 //  Check for a new date/time range
> > > >                 if ( ( Curstdt != prevstdt OR Curenddt != prevenddt ) 
> > > > OR force )
> > > >                 {
> > > >                         //  Set the new last values
> > > >                         StaticVarSet( "_prevstdt", Curstdt );
> > > >                         StaticVarSet( "_prevenddt", Curenddt );
> > > >         
> > > >                         Curststr                = DateTimeToStr( 
> > > > Curstdt );
> > > >                         Curendstr               = DateTimeToStr( 
> > > > Curenddt );
> > > >         
> > > >                         //  Loop through the document collection
> > > >                         for ( i = 0; i < dcount; i++ )
> > > >                         {
> > > >                                 //  If it is not the active document -
> > > >                                 OADoc                   = OAD.Item( i );
> > > >         
> > > >                                 //  NOTE - it doesn't hurt to sync the 
> > > > current window and it
> > > makes all
> > > >                                 //         windows have no blank bars 
> > > > on the right so they
look
> > > > the same
> > > >                                 //if ( OADoc != OAB.ActiveDocument )
> > > >                                 {
> > > >                                         //  Get the document window and 
> > > > zoom to range
> > > >                                         //_TRACE( "  Zoom to range 
> > > > document - " + i + " , " + 
> Curststr +
> > > > " - " + Curendstr );
> > > >                                         OADW                    = 
> > > > OADoc.Windows;
> > > >                                         //  Document window count 
> > > > assumed to be 1
> > > >                                         OADocWin                = 
> > > > OADW.Item( 0 );
> > > >                                         OADocWin.ZoomToRange( Curststr, 
> > > > Curendstr );
> > > >                                 }
> > > >                         }
> > > >                         res                             = True;
> > > >                 }
> > > >         }
> > > >         return          res;
> > > > }
> > > > 
> > > > //  Call for synchronization
> > > > ZoomSync( False );
> > > > 
> > > > 
> > > > 
> > > > --- In [email protected], "sidhartha70" <sidhartha70@>
> wrote:
> > > > >
> > > > > TJ,
> > > > > 
> > > > > Would 'zoom link' functionality be difficult to implement...?
> > > > >
> > > >
> > >
> >
>


Reply via email to