Class: Tk::Tcllib::Plotchart::XYPlot

Inherits:
TkCanvas show all
Includes:
ChartMethod
Defined in:
lib/tkextlib/tcllib/plotchart.rb

Direct Known Subclasses

Stripchart

Constant Summary collapse

TkCommandNames =
[
  'canvas'.freeze, 
  '::Plotchart::createXYPlot'.freeze
].freeze

Constants included from TkCore

TkCore::EventFlag, TkCore::INTERP, TkCore::WIDGET_DESTROY_HOOK

Constants included from TkComm

TkComm::GET_CONFIGINFO_AS_ARRAY, TkComm::GET_CONFIGINFOwoRES_AS_ARRAY, TkComm::TkExtlibAutoloadModule, TkComm::Tk_CMDTBL, TkComm::Tk_IDs, TkComm::Tk_WINDOWS, TkComm::USE_TCLs_LIST_FUNCTIONS, TkComm::WidgetClassNames

Constants included from TkUtil

TkUtil::None, TkUtil::RELEASE_DATE

Constants inherited from TkCanvas

TkCanvas::WidgetClassName

Constants inherited from TkWindow

TkWindow::WidgetClassName

Constants included from Tk

AUTO_PATH, INTERP, JAPANIZED_TK, LIBRARY_PATH, MAINLOOP, PACKAGE_PATH, RELEASE_DATE, Tk::TCL_LIBRARY_PATH, Tk::TCL_MAJOR_VERSION, Tk::TCL_MINOR_VERSION, Tk::TCL_PACKAGE_PATH, Tk::TCL_PATCHLEVEL, Tk::TCL_PRECISION, Tk::TCL_VERSION, Tk::TK_MAJOR_VERSION, Tk::TK_MINOR_VERSION, Tk::TK_PATCHLEVEL, Tk::TK_VERSION, Tk::Tkextlib_RELEASE_DATE, Tk::TreeCtrl_Widget, X_Scrollable, Y_Scrollable

Constants included from Tk::TkDND::Shape

Tk::TkDND::Shape::PACKAGE_NAME

Instance Method Summary collapse

Methods included from ChartMethod

#coords_3D_to_pixel, #coords_to_pixel, #determine_scale, #pixel_to_coords, #polar_coordinates, #polar_to_pixel, #save_plot, #set_zoom_pan, #title, #view_port, #world_3D_coordinates, #world_coordinates, #xconfig, #xtext, #yconfig, #ytext

Methods included from TkCore

#_tk_call_to_list_core, #after, #after_cancel, #after_idle, #appname, #appsend, #appsend_deny, #appsend_displayof, callback, #callback_break, #callback_continue, #callback_return, #chooseColor, #chooseDirectory, #do_one_event, #event_generate, #getMultipleOpenFile, #getMultipleSaveFile, #getOpenFile, #getSaveFile, #get_eventloop_tick, #get_eventloop_weight, #get_no_event_wait, #inactive, #inactive_displayof, #info, #ip_eval, #ip_eval_with_enc, #ip_eval_without_enc, #ip_invoke, #ip_invoke_with_enc, #ip_invoke_without_enc, #is_mainloop?, #load_cmd_on_ip, #mainloop, #mainloop_exist?, #mainloop_thread?, #mainloop_watchdog, #messageBox, #rb_appsend, #rb_appsend_displayof, #reset_inactive, #reset_inactive_displayof, #restart, #scaling, #scaling_displayof, #set_eventloop_tick, #set_eventloop_weight, #set_no_event_wait, #tk_call, #tk_call_to_list, #tk_call_to_list_with_enc, #tk_call_to_list_without_enc, #tk_call_to_simplelist, #tk_call_to_simplelist_with_enc, #tk_call_to_simplelist_without_enc, #tk_call_with_enc, #tk_call_without_enc, #windowingsystem

Methods included from TkComm

_at, _callback_entry?, _callback_entry_class?, _curr_cmd_id, _fromUTF8, _genobj_for_tkwidget, _next_cmd_id, _toUTF8, array2tk_list, #bind, #bind_all, #bind_append, #bind_append_all, #bind_remove, #bind_remove_all, #bindinfo, #bindinfo_all, bool, image_obj, install_cmd, list, num_or_str, number, procedure, simplelist, string, #subst, tk_tcl2ruby, uninstall_cmd, window

Methods included from TkUtil

_conv_args, #_conv_args, #_fromUTF8, _get_eval_enc_str, #_get_eval_enc_str, #_get_eval_string, _get_eval_string, _symbolkey2str, #_symbolkey2str, #_toUTF8, bool, #bool, callback, eval_cmd, #hash_kv, hash_kv, install_cmd, num_or_str, #num_or_str, number, #number, string, #string, uninstall_cmd

Methods included from TkEvent

#install_bind, #install_bind_for_event_class

Methods inherited from TkCanvas

#__BLT_EPS_item_boolval_optkeys, #__BLT_EPS_item_strval_optkeys, #addtag, #addtag_above, #addtag_all, #addtag_below, #addtag_closest, #addtag_enclosed, #addtag_overlapping, #addtag_withtag, #bbox, #canvasx, #canvasy, #coords, #create, #dchars, #delete, #dtag, #find, #find_above, #find_all, #find_below, #find_closest, #find_enclosed, #find_overlapping, #find_withtag, #gettags, #icursor, #index, #insert, #itembind, #itembind_append, #itembind_remove, #itembindinfo, #itemfocus, #itemtype, #lower, #move, #postscript, #raise, #scale, #scan_dragto, #scan_mark, #select, #select_adjust, #select_clear, #select_from, #select_item, #select_to

Methods included from Scrollable

#autoscroll, #unautoscroll

Methods included from YScrollable

#yscrollbar, #yscrollcommand, #yview, #yview_moveto, #yview_scroll

Methods included from XScrollable

#xscrollbar, #xscrollcommand, #xview, #xview_moveto, #xview_scroll

Methods included from TkItemConfigMethod

#current_itemconfiginfo, #itemcget, #itemconfiginfo, #itemconfigure, #tagid

Methods included from TkItemConfigOptkeys

#__conv_item_keyonly_opts, #itemconfig_hash_kv

Methods included from TkTreatItemFont

#kanjifont_copy, #kanjitagfont_configure, #latintagfont_configure, #latintagfont_copy, #tagfont_configinfo, #tagfont_configure, #tagfont_copy

Methods inherited from TkWindow

#bind_class, #bindtags, #bindtags=, #bindtags_shift, #bindtags_unshift, #caret, #colormodel, #command, #cursor_propagate, #cursor_restore, #database_class, database_class, #database_classname, database_classname, #destroy, #eventloop_wait_destroy, #eventloop_wait_visibility, #exist?, #grab, #grab_current, #grab_release, #grab_set, #grab_set_global, #grab_status, #grid, #grid_bbox, #grid_columnconfig, #grid_columnconfiginfo, #grid_config, #grid_forget, #grid_in, #grid_info, #grid_location, #grid_propagate, #grid_remove, #grid_rowconfig, #grid_rowconfiginfo, #grid_size, #grid_slaves, #lower, #pack, #pack_config, #pack_forget, #pack_in, #pack_info, #pack_propagate, #pack_slaves, #place, #place_config, #place_configinfo, #place_forget, #place_in, #place_info, #place_slaves, #raise, #set_focus, #thread_wait_destroy, #thread_wait_visibility, #tktrans_get_image, #tktrans_set_image, to_eval, #wait_destroy, #wait_visibility

Methods included from TkBindCore

#bind, #bind_append, #bind_remove, #bindinfo

Methods included from TkWinfo

appname, atom, atomname, cells, children, classname, colormapfull, containing, depth, exist?, fpixels, geometry, height, id, interps, manager, mapped?, parent, pixels, pointerx, pointerxy, pointery, reqheight, reqwidth, rgb, rootx, rooty, screen, screencells, screendepth, screenheight, screenmmheight, screenmmwidth, screenvisual, screenwidth, server, toplevel, viewable, visual, visualid, visualsavailable, vrootheight, vrootwidth, vrootx, vrooty, widget, width, #winfo_appname, #winfo_atom, #winfo_atomname, #winfo_cells, #winfo_children, #winfo_classname, #winfo_colormapfull, #winfo_containing, #winfo_depth, #winfo_exist?, #winfo_fpixels, #winfo_geometry, #winfo_height, #winfo_id, #winfo_interps, #winfo_manager, #winfo_mapped?, #winfo_parent, #winfo_pixels, #winfo_pointerx, #winfo_pointerxy, #winfo_pointery, #winfo_reqheight, #winfo_reqwidth, #winfo_rgb, #winfo_rootx, #winfo_rooty, #winfo_screen, #winfo_screencells, #winfo_screendepth, #winfo_screenheight, #winfo_screenmmheight, #winfo_screenmmwidth, #winfo_screenvisual, #winfo_screenwidth, #winfo_server, #winfo_toplevel, #winfo_viewable, #winfo_visual, #winfo_visualid, #winfo_visualsavailable, #winfo_vrootheight, #winfo_vrootwidth, #winfo_vrootx, #winfo_vrooty, #winfo_widget, #winfo_width, #winfo_x, #winfo_y, x, y

Methods included from Tk

BinaryString, EncodedString, UTF8_String, add_kinsoku, bell, bell_on_display, const_missing, current_grabs, cursor_display, delete_kinsoku, destroy, #encoding, #encoding=, errorCode, errorInfo, exit, focus, focus_lastfor, focus_next, focus_prev, focus_to, fromUTF8, grid, grid_forget, has_mainwindow?, load_tcllibrary, load_tclscript, load_tclscript_rsrc, load_tclscript_rsrcid, lower_window, pack, pack_forget, pkgconfig_get, pkgconfig_list, place, place_forget, raise_window, #root, show_kinsoku, strictMotif, subst_tk_backslash, subst_utf_backslash, tcl_pkgconfig_get, tcl_pkgconfig_list, thread_update, thread_update_idletasks, tk_pkgconfig_get, tk_pkgconfig_list, toUTF8, to_backslash_sequence, ungrid, unload_tcllibrary, unpack, unplace, #update, update, update_idletasks, utf_to_backslash, utf_to_backslash_sequence

Methods included from Encoding

#encoding, #encoding=, #encoding_convertfrom, #encoding_convertto, #encoding_dirs, #encoding_dirs=, #encoding_names, #encoding_system, #encoding_system=

Methods included from Tk::TkDND::DND

#dnd_bindsource, #dnd_bindsource_info, #dnd_bindtarget, #dnd_bindtarget_info, #dnd_clearsource, #dnd_cleartarget, #dnd_drag, version

Methods included from Tk::TkDND::Shape

package_name, package_patchlevel, package_version, #shape_bounds, #shape_get, #shape_offset, #shape_set, #shape_update, version

Methods inherited from TkObject

#destroy, #epath, #event_generate, #method_missing, #path, #tk_send, #tk_send_to_list, #tk_send_to_list_with_enc, #tk_send_to_list_without_enc, #tk_send_to_simplelist, #tk_send_to_simplelist_with_enc, #tk_send_to_simplelist_without_enc, #tk_send_with_enc, #tk_send_without_enc, #to_eval

Methods included from TkConfigMethod

#[], #[]=, #cget, #config_hash_kv, #configinfo, #configure, #configure_cmd, #current_configinfo

Methods included from TkTreatFont

#font_configinfo, #font_configure, #font_copy, #kanjifont_configure, #kanjifont_copy, #latinfont_configure, #latinfont_copy

Methods inherited from TkKernel

new

Constructor Details

#initialize(*args) ⇒ XYPlot



236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
# File 'lib/tkextlib/tcllib/plotchart.rb', line 236

def initialize(*args) # args := ([parent,] xaxis, yaxis [, keys])
                      # xaxis := Array of [minimum, maximum, stepsize]
                      # yaxis := Array of [minimum, maximum, stepsize]
  if args[0].kind_of?(Array)
    @xaxis = args.shift
    @yaxis = args.shift

    super(*args) # create canvas widget
  else
    parent = args.shift

    @xaxis = args.shift
    @yaxis = args.shift

    if parent.kind_of?(TkCanvas)
      @path = parent.path
    else
      super(parent, *args) # create canvas widget
    end
  end

  @chart = _create_chart
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class TkObject

Instance Method Details

#__destroy_hook__Object



267
268
269
# File 'lib/tkextlib/tcllib/plotchart.rb', line 267

def __destroy_hook__
  Tk::Tcllib::Plotchart::PlotSeries::SeriesID_TBL.delete(@path)
end

#color_map(colors) ⇒ Object



306
307
308
309
310
311
# File 'lib/tkextlib/tcllib/plotchart.rb', line 306

def color_map(colors)
  colors = array2tk_list(colors) if colors.kind_of?(Array)

  tk_call_without_enc(@chart, 'colorMap', colors)
  self
end

#contourbox(xcrd, ycrd, vals, klasses = None) ⇒ Object



296
297
298
299
300
301
302
303
304
# File 'lib/tkextlib/tcllib/plotchart.rb', line 296

def contourbox(xcrd, ycrd, vals, klasses=None)
  xcrd = array2tk_list(xcrd) if xcrd.kind_of?(Array)
  ycrd = array2tk_list(ycrd) if ycrd.kind_of?(Array)
  vals = array2tk_list(vals) if vals.kind_of?(Array)
  clss = array2tk_list(clss) if clss.kind_of?(Array)

  tk_call_without_enc(@chart, 'contourbox', xcrd, ycrd, vals, clss)
  self
end

#contourfill(xcrd, ycrd, vals, klasses = None) ⇒ Object



286
287
288
289
290
291
292
293
294
# File 'lib/tkextlib/tcllib/plotchart.rb', line 286

def contourfill(xcrd, ycrd, vals, klasses=None)
  xcrd = array2tk_list(xcrd) if xcrd.kind_of?(Array)
  ycrd = array2tk_list(ycrd) if ycrd.kind_of?(Array)
  vals = array2tk_list(vals) if vals.kind_of?(Array)
  clss = array2tk_list(clss) if clss.kind_of?(Array)

  tk_call_without_enc(@chart, 'contourfill', xcrd, ycrd, vals, clss)
  self
end

#contourlines(xcrd, ycrd, vals, clss = None) ⇒ Object



276
277
278
279
280
281
282
283
284
# File 'lib/tkextlib/tcllib/plotchart.rb', line 276

def contourlines(xcrd, ycrd, vals, clss=None)
  xcrd = array2tk_list(xcrd) if xcrd.kind_of?(Array)
  ycrd = array2tk_list(ycrd) if ycrd.kind_of?(Array)
  vals = array2tk_list(vals) if vals.kind_of?(Array)
  clss = array2tk_list(clss) if clss.kind_of?(Array)

  tk_call_without_enc(@chart, 'contourlines', xcrd, ycrd, vals, clss)
  self
end

#dataconfig(series, key, value = None) ⇒ Object



321
322
323
324
325
326
327
328
# File 'lib/tkextlib/tcllib/plotchart.rb', line 321

def dataconfig(series, key, value=None)
  if key.kind_of?(Hash)
    tk_call_without_enc(@chart, 'dataconfig', series, *hash_kv(key, true))
  else
    tk_call_without_enc(@chart, 'dataconfig', series, 
                        "-#{key}", _get_eval_enc_str(value))
  end
end

#grid_cells(xcrd, ycrd) ⇒ Object



313
314
315
316
317
318
319
# File 'lib/tkextlib/tcllib/plotchart.rb', line 313

def grid_cells(xcrd, ycrd)
  xcrd = array2tk_list(xcrd) if xcrd.kind_of?(Array)
  ycrd = array2tk_list(ycrd) if ycrd.kind_of?(Array)

  tk_call_without_enc(@chart, 'grid', xcrd, ycrd)
  self
end

#plot(series, x, y) ⇒ Object



271
272
273
274
# File 'lib/tkextlib/tcllib/plotchart.rb', line 271

def plot(series, x, y)
  tk_call_without_enc(@chart, 'plot', _get_eval_enc_str(series), x, y)
  self
end