change_Xrange(min_index,max_index,chartTypeIndex=0)
          
          click to toggle source
          
        
        
        
          
          X軸の範囲を変更する¶ ↑
データ配列の範囲を指定された最小値と最大値へ変更する。
_min_index_:: 最小の行番号(1始まり)
_max_index_:: 最大の行番号(1始まり)
_chartTypeIndex_:: チャートテンプレート配列でのインデックス、指定されない場合には 0。
ret::成功のときtrue、失敗のときfalse
          
          
          
          
            
  def change_Xrange(min_index,max_index,chartTypeIndex=0)
    min_index = min_index.to_i
    max_index = max_index.to_i
    tName = ChartTypeList[self.Diagram.getDiagramType][chartTypeIndex]
    ret = false
    if tName
      ret = true
      n = self.DataSequences.size
      prov = self.getDataProvider
      dt = []
      j = 0
      x_was_taken = false
      
      (1..n).each do |i|
        seq = self.DataSequences[i-1]
        role = seq.Values.Role
        range =  seq.Values.SourceRangeRepresentation
        range.sub!(/(.*\$)\d+(\:.*\$)\d+/,"\\1#{min_index}\\2#{max_index}")
        new_seq = prov.createDataSequenceByRangeRepresentation(range)
        new_seq.Role = role
        if role == "categories"
          labeldSeq = $manager.createInstance("com.sun.star.chart2.data.LabeledDataSequence")
          labeldSeq.setValues(new_seq)
          dt << labeldSeq
          x_was_taken = true
          j += 1
        elsif (role == "values-x")
          if ! x_was_taken
            dt[j] = $manager.createInstance("com.sun.star.chart2.data.LabeledDataSequence")
            dt[j].setValues(new_seq)
            if seq.Label
              label_role = seq.Label.Role
              label_range =  seq.Label.SourceRangeRepresentation
              new_label_seq = prov.createDataSequenceByRangeRepresentation(label_range)
              new_label_seq.Role = seq.Label.Role
              dt[j].setLabel(new_label_seq)
            end
            x_was_taken = true
            j += 1
          end
        else 
          dt[j] = $manager.createInstance("com.sun.star.chart2.data.LabeledDataSequence")
          dt[j].setValues(new_seq)
          if seq.Label
            label_role = seq.Label.Role
            label_range =  seq.Label.SourceRangeRepresentation
            new_label_seq = prov.createDataSequenceByRangeRepresentation(label_range)
            new_label_seq.Role = seq.Label.Role
            dt[j].setLabel(new_label_seq)
          end
          j += 1
        end
      end
      source = self.getUsedData
      source.setData(dt)
      tManager = self.getChartTypeManager
      tTemplate = tManager.createInstance(tName)
      tTemplate.changeDiagramData(self.Diagram.getDiagram, source, [])
    end
    ret
  end
           
          
         
        
        
       
    
      
        
        
          get_Range(n=0)
          
          click to toggle source
          
        
        
        
          
          データ列の範囲を表す文字列を取得¶ ↑
_n_:: 何番目のデータ列かを指定、指定されない場合には 0。
ret::文字列
          
          
          
          
            
def get_Range(n=0)
  self.DataSequences[n].Values.SourceRangeRepresentation
end
           
          
         
        
        
       
    
      
        
        
          get_Xmax()
          
          click to toggle source
          
        
        
        
          
          X軸の最大値を取得¶ ↑
ret::double
          
          
          
          
            
def get_Xmax
  self.Diagram.XAxis.Max
end
           
          
         
        
        
       
    
      
        
        
          get_Xmin()
          
          click to toggle source
          
        
        
        
          
          X軸の最小値を取得¶ ↑
ret::double
          
          
          
          
            
def get_Xmin
  self.Diagram.XAxis.Min
end
           
          
         
        
        
       
    
      
        
        
          get_chartType()
          
          click to toggle source
          
        
        
        
          
          チャートの種類を取得¶ ↑
ret::文字列
          
          
          
          
            
def get_chartType
  self.Diagram.getDiagramType
end
           
          
         
        
        
       
    
      
        
        
          get_subtitle()
          
          click to toggle source
          
        
        
        
          
          チャートのサブタイトル取得¶ ↑
ret::文字列
          
          
          
          
            
def get_subtitle
  self.getSubTitle.String
end
           
          
         
        
        
       
    
      
        
        
          get_title()
          
          click to toggle source
          
        
        
        
          
          チャートのタイトル取得¶ ↑
ret::文字列
          
          
          
          
            
def get_title
  self.getTitle.String
end
           
          
         
        
        
       
    
      
        
        
          save(filename)
          
          click to toggle source
          
        
        
        
          
          チャートの保存¶ ↑
_filename_::出力する画像ファイル名、拡張子で画像タイプを判定する。(bmp,jpg,png...)
          
          
          
          
            
def save(filename)
  done = false
  if filename != ''
    if filename !~ /^file\:\/\/\//
      filename = 'file:///'+getAbsolutePath(filename)
    end
    filename =~ /\.([^\/\.\]+?)$/
    ext = $1
    ext.downcase! if ext
    t = Graphic_Types[ext]
  else
    print "画像のファイル名を指定してください\n"
    return false
  end
  if t == nil
    print "拡張子から画像タイプが判別できません。\n"
    return false
  end
  
  done = true
  begin
    f = $manager.createInstance("com.sun.star.drawing.GraphicExportFilter")
    f.setSourceDocument(self.getDrawPage)
    opt = _opts($manager,{'URL'=>filename,'MediaType'=>t})
    f.filter(opt)
  rescue 
    print "書き込みできませんでした。#{$!}\n"
    done = false
  end
  done
end
           
          
         
        
        
       
    
      
        
        
          set_Xmax(t)
          
          click to toggle source
          
        
        
        
          
          X軸の最大値を設定¶ ↑
_t_:: OOoでのdoubleの値、日時の場合もdoubleで表現される。
          
          
          
          
            
def set_Xmax(t)  
  self.Diagram.XAxis.Max = t
end
           
          
         
        
        
       
    
      
        
        
          set_Xmin(t)
          
          click to toggle source
          
        
        
        
          
          X軸の最小値を設定¶ ↑
_t_:: OOoでのdoubleの値、日時の場合もdoubleで表現される。
          
          
          
          
            
def set_Xmin(t)  
  self.Diagram.XAxis.Min = t
end
           
          
         
        
        
       
    
      
        
        
          set_subtitle(name)
          
          click to toggle source
          
        
        
        
          
          チャートのサブタイトル設定¶ ↑
          
          
          
          
            
def set_subtitle(name)
  t = self.getSubTitle
  t.String = name
end
           
          
         
        
        
       
    
      
        
        
          set_title(name)
          
          click to toggle source
          
        
        
        
          
          チャートのタイトル設定¶ ↑
          
          
          
          
            
def set_title(name)
  t = self.getTitle
  t.String = name
end