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" <sidharth...@...> 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