/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.0
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

package de.blichmann.idajava.natives;

public class abstract_graph_t {
  private long swigCPtr;
  protected boolean swigCMemOwn;

  public abstract_graph_t(long cPtr, boolean cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = cPtr;
  }

  public static long getCPtr(abstract_graph_t obj) {
    return (obj == null) ? 0 : obj.swigCPtr;
  }

  protected void finalize() {
    delete();
  }

  public synchronized void delete() {
    if (swigCPtr != 0) {
      if (swigCMemOwn) {
        swigCMemOwn = false;
        IdaJavaJNI.delete_abstract_graph_t(swigCPtr);
      }
      swigCPtr = 0;
    }
  }

  public void setTitle(SWIGTYPE_p__qstringT_char_t value) {
    IdaJavaJNI.abstract_graph_t_title_set(swigCPtr, this, SWIGTYPE_p__qstringT_char_t.getCPtr(value));
  }

  public SWIGTYPE_p__qstringT_char_t getTitle() {
    long cPtr = IdaJavaJNI.abstract_graph_t_title_get(swigCPtr, this);
    return (cPtr == 0) ? null : new SWIGTYPE_p__qstringT_char_t(cPtr, false);
  }

  public void setRect_edges_made(boolean value) {
    IdaJavaJNI.abstract_graph_t_rect_edges_made_set(swigCPtr, this, value);
  }

  public boolean getRect_edges_made() {
    return IdaJavaJNI.abstract_graph_t_rect_edges_made_get(swigCPtr, this);
  }

  public void setCurrent_layout(int value) {
    IdaJavaJNI.abstract_graph_t_current_layout_set(swigCPtr, this, value);
  }

  public int getCurrent_layout() {
    return IdaJavaJNI.abstract_graph_t_current_layout_get(swigCPtr, this);
  }

  public void setCircle_center(point_t value) {
    IdaJavaJNI.abstract_graph_t_circle_center_set(swigCPtr, this, point_t.getCPtr(value), value);
  }

  public point_t getCircle_center() {
    long cPtr = IdaJavaJNI.abstract_graph_t_circle_center_get(swigCPtr, this);
    return (cPtr == 0) ? null : new point_t(cPtr, false);
  }

  public void setCircle_radius(int value) {
    IdaJavaJNI.abstract_graph_t_circle_radius_set(swigCPtr, this, value);
  }

  public int getCircle_radius() {
    return IdaJavaJNI.abstract_graph_t_circle_radius_get(swigCPtr, this);
  }

  public void setCallback(SWIGTYPE_p_f_p_void_int_va_list__int value) {
    IdaJavaJNI.abstract_graph_t_callback_set(swigCPtr, this, SWIGTYPE_p_f_p_void_int_va_list__int.getCPtr(value));
  }

  public SWIGTYPE_p_f_p_void_int_va_list__int getCallback() {
    long cPtr = IdaJavaJNI.abstract_graph_t_callback_get(swigCPtr, this);
    return (cPtr == 0) ? null : new SWIGTYPE_p_f_p_void_int_va_list__int(cPtr, false);
  }

  public void setCallback_ud(SWIGTYPE_p_void value) {
    IdaJavaJNI.abstract_graph_t_callback_ud_set(swigCPtr, this, SWIGTYPE_p_void.getCPtr(value));
  }

  public SWIGTYPE_p_void getCallback_ud() {
    long cPtr = IdaJavaJNI.abstract_graph_t_callback_ud_get(swigCPtr, this);
    return (cPtr == 0) ? null : new SWIGTYPE_p_void(cPtr, false);
  }

  public rect_t nrect(int n) {
    return new rect_t(IdaJavaJNI.abstract_graph_t_nrect__SWIG_0(swigCPtr, this, n), false);
  }

  public edge_info_t get_edge(edge_t e) {
    long cPtr = IdaJavaJNI.abstract_graph_t_get_edge__SWIG_0(swigCPtr, this, edge_t.getCPtr(e), e);
    return (cPtr == 0) ? null : new edge_info_t(cPtr, false);
  }

  public abstract_graph_t clone() {
    long cPtr = IdaJavaJNI.abstract_graph_t_clone(swigCPtr, this);
    return (cPtr == 0) ? null : new abstract_graph_t(cPtr, false);
  }

  public boolean create_tree_layout() {
    return IdaJavaJNI.abstract_graph_t_create_tree_layout(swigCPtr, this);
  }

  public boolean create_circle_layout(point_t p, int radius) {
    return IdaJavaJNI.abstract_graph_t_create_circle_layout(swigCPtr, this, point_t.getCPtr(p), p, radius);
  }

  public void set_callback(SWIGTYPE_p_f_p_void_int_va_list__int _callback, SWIGTYPE_p_void _ud) {
    IdaJavaJNI.abstract_graph_t_set_callback(swigCPtr, this, SWIGTYPE_p_f_p_void_int_va_list__int.getCPtr(_callback), SWIGTYPE_p_void.getCPtr(_ud));
  }

  public int vgrcall(int code, SWIGTYPE_p_va_list va) {
    return IdaJavaJNI.abstract_graph_t_vgrcall(swigCPtr, this, code, SWIGTYPE_p_va_list.getCPtr(va));
  }

  public int grcall(int code) {
    return IdaJavaJNI.abstract_graph_t_grcall(swigCPtr, this, code);
  }

}
