package GraphFrameArray @ISA = qw() sub App return shift->mw()->App(); sub Application return shift->mw()->App(); sub MainMenu return shift->mw()->MainMenu(); sub mw return shift->{'MainWindow'}; sub MainWindow return shift->{'MainWindow'}; return shift->{'Canvas'}; sub Canvas my ($this, $canvas) = @_; return $canvas; return $this->mw()->Canvas(); my ($this, $canvas) = @_; sub nGraphFrame return @$gfa; sub GetpGraphFrameArray return shift->{'GraphFrameArray'}; return @$array; sub GetGraphFrame my ($this, $idx) = @_; return $pGraphFrameArray->[$idx]; sub Index return 0; sub ShowMousePosition return shift->{'ShowMousePosition'}; sub SetShowMousePosition sub SetShowMousePosition { my ($this,$f)= return $this->{'ShowMousePosition'} = $f; sub new my ($module, $mw, $canvas) = @_; return $this; sub DESTROY my $this = shift; # $this->SUPER::DESTROY( sub IterateForGraphFrames my ($this, $pSubroutine, @args) = @_; sub FindGraphFrameByPosition my ($this, $x0, $y0) = @_; return undef unless(defined $y0); return $i if($frame->IsPointInFrame($x0, $y0)); return undef; sub SaveCSVFile my ($this, $filepath, $LimitToViewYRange) = @_; return undef if($nGraphFrame == 0); return 1; return undef; return undef if($ErrorExist); return 1; sub AddGraphFrame my ($this, $GraphFrame) = @_; sub SetShowScaleDialogCallback my ($this, $func) = @_; sub SelTags my ($canvas, $this, $command, $x, $y, $X, $Y) = @_; sub ExpandViewRange my ($this, $cx0, $cy0, $cx1, $cy1, $command) = @_; return unless(defined $idx); return if($cx1 - $cx0 < 3); return if($cy1 - $cy0 < 3); return unless($frame); return undef unless(defined $nx0); return 1; return 1; sub SelRangeBoxMenu my ($this, $x0, $y0, $x1, $y1, $X, $Y, $command) = @_; return unless(defined $y0); return if(defined $x1 and $x0 == $x1); return if(defined $y1 and $y0 == $y1); sub ShowPopupMenu my ($canvas, $this, $X, $Y) = @_; sub Draw my ($this, $canvas) = @_; return $rect; sub SetFont my ($this, $font) = @_; sub SetPositionByStr my ($this, $str) = @_; sub SetCanvasSize my ($this, $width, $height) = @_; return unless($canvas); sub SetXCaption my ($this, $caption) = @_; sub SetYCaption my ($this, $caption) = @_; sub SetViewXRange my ($this, $x0, $x1, $DoSynchronize) = @_; sub SetViewYRange my ($this, $y0, $y1, $DoSynchronize) = @_; sub SetViewRange my ($this, $x0, $y0, $x1, $y1, $DoSynchronize) = @_; sub SetSmoothLine my ($this, $f) = @_; sub SetX0LineVisible my ($this, $f) = @_; sub SetY0LineVisible my ($this, $f) = @_; sub SetScaleStringVisible my ($this, $XYStr, $f) = @_; sub SetScaleVisible my ($this, $XYStr, $f) = @_; sub AdjustViewRange my ($this, $marginx0, $marginx1, $marginy0, $marginy1) = @_;