Commit f1cff944 authored by Russ Fish's avatar Russ Fish

Lots of Win32 changes:

    . Add hv.ds[pw], hypview.bat, _hv_win32.cpp, hv_win32.py, and
        hypviewer/Makefile.freewxpy .

    . Un-unexpand the copyright notices.

    . Add arg passing pipeline to hvmain for the Windows context args.

    . Windows platform dependencies are #ifdef WIN32 in C++ code,
      or os.name == "nt" in Python code.

    . Use XML-RPC over either "ssh" or the PuTTY "plink" on Windows.

Also,
    . Fix up the GUI logic for reporting failed file/experiment opening.
      Going from one file/experiment to another now works properly.
parent 072f4135
......@@ -9,7 +9,7 @@ HVSRC = ${HVROOT}/src
# The follosing matches Munzner's Makefile scheme.
CPU = free
##CPU = linux
WINSYS = glut
WINSYS = wxpy
##WINSYS = xt
ARCH = ${CPU}${WINSYS}
......@@ -24,8 +24,8 @@ INCDIRS = -I${HVINC} -I/usr/X11R6/include -I/usr/local/include/python2.3
LDLIBS = ${HVLIB} ${STATIC} -L/usr/X11R6/lib -lGLU -lGL -lXmu -lXext -lX11 -lm
# Distribute the Python scripts, sources, shared library, sample input files, and user doc.
PYFILES = hypview.py exptToHv.py sshxmlrpc.py emulabclient.py hvFrameUI.py hv.py
SRCFILES = README ROADMAP GNUMakefile hvgui.wxg hvmain.cpp hv.i hv.mod _hv.cpp
PYFILES = hypview.py exptToHv.py sshxmlrpc.py emulabclient.py hvFrameUI.py hv.py hv_win32.py
SRCFILES = README ROADMAP GNUMakefile hvgui.wxg hvmain.cpp hv.i hv.mod _hv.cpp _hv_win32.cpp
BINFILES = _hv.so
DATAFILES = BigLan.hyp ts600.hyp
SCRIPTFILES = hypview pangorc.local pango.modules.local
......@@ -47,6 +47,13 @@ hvmain.o: hvmain.cpp
g++ -fpic -c ${CFLAGS} ${INCDIRS} hvmain.cpp
_hv.cpp hv.py: hv.i
swig -c++ -python -DHYPGLUT -DHYPFREE -module hv -o _hv.cpp hv.i
# Kluge to maintain the WIN32 version in parallel...
_hv_win32.cpp hv_win32.py: hv.i
mv -f hv.py hv.py.save
# The .py file is named by the -module argument...
swig -c++ -python -DWIN32 -module hv -o _hv_win32.cpp hv.i
mv hv.py hv_win32.py
mv -f hv.py.save hv.py
# Put the wrappers in a shared library for import by hv.py .
_hv.o: _hv.cpp
......@@ -55,13 +62,17 @@ _hv.so: hvmain.o _hv.o ${HVLIB}
gcc -shared hvmain.o _hv.o ${LDLIBS} -o _hv.so
hvlib: ${HVLIB}
${HVLIB}:
${HVLIB}: checkhv
@echo Making ${HVLIB}
cd ${HVROOT}; make HVROOT=../$(HVROOT)
checkhv:
@echo ""
@echo Make sure that the absolute path to the hypviewer subdir is in Makefile.main .
grep '^ROOTDIR' ${HVROOT}/Makefile.main
@echo ""
@echo Make sure that Makefile.${ARCH} is included, and not commented-out.
grep Makefile.${ARCH} ${HVROOT}/Makefile.main
@echo ""
@echo Making ${HVLIB}
cd ${HVROOT}; make
dist:
# Wrap a top-level hyperviewer directory around the dist files in the tarball.
......@@ -73,4 +84,4 @@ dist:
clean:
rm *.o *.so
cd ${HVROOT}; make clean
\ No newline at end of file
cd ${HVROOT}; make HVROOT=$(HVROOT) clean
......@@ -4,11 +4,20 @@ the Emulab database via XML-RPC over SSH.
See the installation and usage writeup in www/index.html !
HyperViewer sources are included in the hypviewer subdirectory.
See the hypviewer/README and hypviewer/COPYRIGHT files for more information.
#
# EMULAB-COPYRIGHT
# Copyright (c) 2004 University of Utah and the Flux Group.
# All rights reserved.
#
HyperViewer sources are included in the hypviewer subdirectory.
See the hypviewer/README and hypviewer/COPYRIGHT files for more information.
# Permission to use, copy, modify and distribute this software is hereby
# granted provided that (1) source code retains these copyright, permission,
# and disclaimer notices, and (2) redistributions including binaries
# reproduce the notices in supporting documentation.
#
# THE UNIVERSITY OF UTAH ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
# CONDITION. THE UNIVERSITY OF UTAH DISCLAIMS ANY LIABILITY OF ANY KIND
# FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
#
......@@ -724,10 +724,14 @@ static swig_type_info *swig_types[8];
// Copyright (c) 2004 University of Utah and the Flux Group.
// All rights reserved.
//
#include <string>
NAMESPACEHACK
#include "HypView.h"
extern HypView *hvmain(int,char *[]);
extern int hvReadFile(char *);
extern HypView *hvmain(int,char *[],int,int,int);
extern int hvReadFile(char *,int,int);
extern char *getSelected();
#define SWIG_MemoryError 1
......@@ -793,10 +797,13 @@ static PyObject *_wrap_hvmain(PyObject *self, PyObject *args) {
PyObject *resultobj;
int arg1 ;
char **arg2 ;
int arg3 ;
int arg4 ;
int arg5 ;
HypView *result;
PyObject * obj0 = 0 ;
if(!PyArg_ParseTuple(args,(char *)"O:hvmain",&obj0)) goto fail;
if(!PyArg_ParseTuple(args,(char *)"Oiii:hvmain",&obj0,&arg3,&arg4,&arg5)) goto fail;
{
/* Check if is a list */
if (PyList_Check(obj0)) {
......@@ -819,7 +826,7 @@ static PyObject *_wrap_hvmain(PyObject *self, PyObject *args) {
return NULL;
}
}
result = (HypView *)hvmain(arg1,arg2);
result = (HypView *)hvmain(arg1,arg2,arg3,arg4,arg5);
resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_HypView, 0);
return resultobj;
......@@ -831,10 +838,12 @@ static PyObject *_wrap_hvmain(PyObject *self, PyObject *args) {
static PyObject *_wrap_hvReadFile(PyObject *self, PyObject *args) {
PyObject *resultobj;
char *arg1 ;
int arg2 ;
int arg3 ;
int result;
if(!PyArg_ParseTuple(args,(char *)"s:hvReadFile",&arg1)) goto fail;
result = (int)hvReadFile(arg1);
if(!PyArg_ParseTuple(args,(char *)"sii:hvReadFile",&arg1,&arg2,&arg3)) goto fail;
result = (int)hvReadFile(arg1,arg2,arg3);
resultobj = PyInt_FromLong((long)result);
return resultobj;
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -8,6 +8,7 @@
import sets
import string
import fnmatch
import os
from sshxmlrpc import *
from emulabclient import *
......@@ -16,7 +17,12 @@ from emulabclient import *
PACKAGE_VERSION = 0.1 # The package version number
XMLRPC_SERVER = "boss.emulab.net" # Default server
xmlrpc_server = XMLRPC_SERVER # User supplied server name.
login_id = os.environ["USER"] # User supplied login ID to use.
if os.environ.has_key("USER"): # User login ID to use.
login_id = os.environ["USER"] # Unix shells.
elif os.environ.has_key("USERNAME"):
login_id = os.environ["USERNAME"] # Windows.
else:
login_id = "guest"
module = "experiment" # The default RPC module to invoke.
path = None
......@@ -25,7 +31,8 @@ path = None
server = None
def initServer():
global server
uri = "ssh://" + login_id + "@" + xmlrpc_server + "/xmlrpc/" + module
uri = "ssh://" + login_id + "@" + xmlrpc_server + "/" + module
###uri = "ssh://" + login_id + "@" + xmlrpc_server + "/xmlrpc/" + module
##print uri
server = SSHServerProxy(uri, path=path)
pass
......@@ -59,7 +66,7 @@ def addConnection(graph, h1, h2):
# If no root is given, the first lan or the first host is the default root node.
#
# An experiment.hyp file is written in /tmp.
# Return is the .hyp file name, or None in case of failure.
# Return is the .hyp file name, or an error list in case of failure.
#
def getExperiment(project, experiment, root=""):
if not server:
......@@ -71,12 +78,22 @@ def getExperiment(project, experiment, root=""):
response = apply(meth, meth_args)
pass
except xmlrpclib.Fault, e:
print e.faultString
return None
err = "XMLRPC-lib error --"
#print err, e.faultString
return [3, err, e.faultString, ""]
except BadResponse, e:
err = "SSH-XMLRPC error --"
err2 = "Make sure you have a valid SSH key in ssh-agent or PuTTY/pageant."
#print err, e
#print err2
return [4, err, e, err2]
if response["code"] != RESPONSE_SUCCESS:
print "XMLRPC failure, code", response["code"]
return response["code"]
err = "XMLRPC failure, code"
e = response["code"]
err2 = "There is no experiment " + project + "/" + experiment
#print err, e
#print err2
return [2, err, e, err2]
links = response["value"]
# Figure out the nodes from the experiment links (interfaces) from the virt_lans table.
......@@ -158,8 +175,14 @@ def getExperiment(project, experiment, root=""):
pass
pass
hypfile = "/tmp/"+experiment+'.hyp'
outfile = file(hypfile,'w')
if os.name == "nt":
tmpdir = "C:\\temp\\"
pass
else:
tmpdir = "/tmp/"
pass
hypfile = tmpdir + experiment + '.hyp'
outfile = file(hypfile, 'w')
graph2 = {}
walkNodes(graph, graph2, root, 0, outfile)
outfile.close()
......
# Microsoft Developer Studio Project File - Name="hv" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
CFG=hv - Win32 Release
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "hv.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "hv.mak" CFG="hv - Win32 Release"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "hv - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "hv - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "hv - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "HV_EXPORTS" /YX /FD /GZ /c
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "$(PYTHON_INCLUDE)" /I "hypviewer\include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "HV_EXPORTS" /D NAMESPACEHACK="using namespace std;" /YX /FD /GZ /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x809 /d "_DEBUG"
# ADD RSC /l 0x809 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib "$(PYTHON_LIB)" opengl32.lib glu32.lib /nologo /dll /debug /machine:I386 /out:"_hv.dll" /pdbtype:sept
!ELSEIF "$(CFG)" == "hv - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "HV_EXPORTS" /YX /FD /c
# ADD CPP /nologo /MT /W3 /GX /O2 /I "$(PYTHON_INCLUDE)" /I "hypviewer\include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "HV_EXPORTS" /D NAMESPACEHACK="using namespace std;" /YX /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x809 /d "NDEBUG"
# ADD RSC /l 0x809 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib "$(PYTHON_LIB)" opengl32.lib glu32.lib /nologo /dll /machine:I386 /out:"_hv.dll"
!ENDIF
# Begin Target
# Name "hv - Win32 Debug"
# Name "hv - Win32 Release"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=.\_hv.cpp
# End Source File
# Begin Source File
SOURCE=.\hvmain.cpp
# End Source File
# Begin Source File
SOURCE=.\hypviewer\src\HypGraph.cpp
# End Source File
# Begin Source File
SOURCE=.\hypviewer\src\HypGroupArray.cpp
# End Source File
# Begin Source File
SOURCE=.\hypviewer\src\HypLink.cpp
# End Source File
# Begin Source File
SOURCE=.\hypviewer\src\HypNode.cpp
# End Source File
# Begin Source File
SOURCE=.\hypviewer\src\HypNodeArray.cpp
# End Source File
# Begin Source File
SOURCE=.\hypviewer\src\HypPoint.cpp
# End Source File
# Begin Source File
SOURCE=.\hypviewer\src\HypQuat.cpp
# End Source File
# Begin Source File
SOURCE=.\hypviewer\src\HypTransform.cpp
# End Source File
# Begin Source File
SOURCE=.\hypviewer\src\HypView.cpp
# End Source File
# Begin Source File
SOURCE=.\hypviewer\src\HypViewer.cpp
!IF "$(CFG)" == "hv - Win32 Debug"
!ELSEIF "$(CFG)" == "hv - Win32 Release"
# ADD CPP /W3
!ENDIF
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
SOURCE=.\hypviewer\include\HypData.h
# End Source File
# Begin Source File
SOURCE=.\hypviewer\include\HypGraph.h
# End Source File
# Begin Source File
SOURCE=.\hypviewer\include\HypGroup.h
# End Source File
# Begin Source File
SOURCE=.\hypviewer\include\HypGroupArray.h
# End Source File
# Begin Source File
SOURCE=.\hypviewer\include\HypLink.h
# End Source File
# Begin Source File
SOURCE=.\hypviewer\include\HypLinkArray.h
# End Source File
# Begin Source File
SOURCE=.\hypviewer\include\HypNode.h
# End Source File
# Begin Source File
SOURCE=.\hypviewer\include\HypNodeArray.h
# End Source File
# Begin Source File
SOURCE=.\hypviewer\include\HypPoint.h
# End Source File
# Begin Source File
SOURCE=.\hypviewer\include\HypQuat.h
# End Source File
# Begin Source File
SOURCE=.\hypviewer\include\HypTransform.h
# End Source File
# Begin Source File
SOURCE=.\hypviewer\include\HypView.h
# End Source File
# Begin Source File
SOURCE=.\hypviewer\include\HypViewer.h
# End Source File
# Begin Source File
SOURCE=.\hypviewer\include\StringArray.h
# End Source File
# Begin Source File
SOURCE=.\hypviewer\include\VkHypViewer.h
# End Source File
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# End Group
# Begin Source File
SOURCE=.\hv.i
!IF "$(CFG)" == "hv - Win32 Debug"
# Begin Custom Build
InputPath=.\hv.i
InputName=hv
BuildCmds= \
echo In order to function correctly, please ensure the following environment variables are correctly set: \
echo PYTHON_INCLUDE: %PYTHON_INCLUDE% \
echo PYTHON_LIB: %PYTHON_LIB% \
echo on \
swig -c++ -python -DWIN32 -module $(InputName) -o _$(InputName).cpp $(InputPath) \
"_$(InputName).cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
"$(InputName).py" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
# End Custom Build
!ELSEIF "$(CFG)" == "hv - Win32 Release"
# Begin Custom Build
InputPath=.\hv.i
InputName=hv
BuildCmds= \
echo In order to function correctly, please ensure the following environment variables are correctly set: \
echo PYTHON_INCLUDE: %PYTHON_INCLUDE% \
echo PYTHON_LIB: %PYTHON_LIB% \
echo on \
swig -c++ -python -DWIN32 -module $(InputName) -o _$(InputName).cpp $(InputPath) \
"_$(InputName).cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
"$(InputName).py" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
$(BuildCmds)
# End Custom Build
!ENDIF
# End Source File
# End Target
# End Project
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "hv"=".\hv.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################
......@@ -5,6 +5,10 @@
// Copyright (c) 2004 University of Utah and the Flux Group.
// All rights reserved.
//
#include <string>
NAMESPACEHACK
#include "HypView.h"
%}
......@@ -38,14 +42,14 @@
}
// It's easier to return the pointer to the HypView object rather than access the global.
extern HypView *hvmain(int argc, char *argv[]);
extern HypView *hvmain(int argc, char *argv[], int window, int width, int height);
//extern int hvmain(int argc, char *argv[]);
//%include "cpointer.i"
//%pointer_class(HypView,hvp)
//extern HypView *hv;
// Separate out file reading from the main program.
extern int hvReadFile(char *fname);
extern int hvReadFile(char *fname, int width, int height);
// Get the node id string last selected by the selectCB function.
extern char *getSelected();
......
......@@ -5,6 +5,19 @@
// Copyright (c) 2004 University of Utah and the Flux Group.
// All rights reserved.
//
// Permission to use, copy, modify and distribute this software is hereby
// granted provided that (1) source code retains these copyright, permission,
// and disclaimer notices, and (2) redistributions including binaries
// reproduce the notices in supporting documentation.
//
// THE UNIVERSITY OF UTAH ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
// CONDITION. THE UNIVERSITY OF UTAH DISCLAIMS ANY LIABILITY OF ANY KIND
// FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
//
#include <string>
NAMESPACEHACK
#include "HypView.h"
%}
......@@ -38,14 +51,14 @@
}
// It's easier to return the pointer to the HypView object rather than access the global.
extern HypView *hvmain(int argc, char *argv[]);
extern HypView *hvmain(int argc, char *argv[], int window, int width, int height);
//extern int hvmain(int argc, char *argv[]);
//%include "cpointer.i"
//%pointer_class(HypView,hvp)
//extern HypView *hv;
// Separate out file reading from the main program.
extern int hvReadFile(char *fname);
extern int hvReadFile(char *fname, int width, int height);
// Get the node id string last selected by the selectCB function.
extern char *getSelected();
......
......@@ -5,8 +5,28 @@
# Copyright (c) 2004 University of Utah and the Flux Group.
# All rights reserved.
#
# Permission to use, copy, modify and distribute this software is hereby
# granted provided that (1) source code retains these copyright, permission,
# and disclaimer notices, and (2) redistributions including binaries
# reproduce the notices in supporting documentation.
#
# THE UNIVERSITY OF UTAH ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
# CONDITION. THE UNIVERSITY OF UTAH DISCLAIMS ANY LIABILITY OF ANY KIND
# FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
#
from wxPython.wx import *
from wxPython.glcanvas import wxGLCanvas
from wxPython.glcanvas import *
class hvGLCanvas(wxGLCanvas):
def __init__(self, *args, **kwds):
## The PyOpenGL canvas initialization is broken.
## The following doesn't yet work on Windows, although
## it is needed for picking, and seg-faults on FreeBSD.
##kwds["attribList"] = [WX_GL_DOUBLEBUFFER, WX_GL_RGBA,
## WX_GL_DEPTH_SIZE, 32, 0]
wxGLCanvas.__init__(self, *args, **kwds)
pass
pass
class UsageDialogUI(wxDialog):
def __init__(self, *args, **kwds):
......@@ -123,7 +143,7 @@ class hvFrameUI(wxFrame):
wxglade_tmp_menu.Append(3, "&Usage\tCtrl+H", "", wxITEM_NORMAL)
self.Menu.Append(wxglade_tmp_menu, "&Help")
# Menu Bar end
self.hypView = wxGLCanvas(self.panel_1, -1)
self.hypView = hvGLCanvas(self.panel_1, -1)
self.GoToTop = wxButton(self.Controls, -1, "go to top")
self.LabelNodeName = wxStaticText(self.Controls, -1, " Node name ")
self.NodeName = wxTextCtrl(self.Controls, -1, "")
......
# This file was created automatically by SWIG.
# Don't modify this file, modify the SWIG interface instead.
# This file is compatible with both classic and new-style classes.
import _hv
def _swig_setattr(self,class_type,name,value):
if (name == "this"):
if isinstance(value, class_type):
self.__dict__[name] = value.this
if hasattr(value,"thisown"): self.__dict__["thisown"] = value.thisown
del value.thisown
return
method = class_type.__swig_setmethods__.get(name,None)
if method: return method(self,value)
self.__dict__[name] = value
def _swig_getattr(self,class_type,name):
method = class_type.__swig_getmethods__.get(name,None)
if method: return method(self)
raise AttributeError,name
import types
try:
_object = types.ObjectType
_newclass = 1
except AttributeError:
class _object : pass
_newclass = 0
del types
hvmain = _hv.hvmain
hvReadFile = _hv.hvReadFile
getSelected = _hv.getSelected
class HypView(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, HypView, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, HypView, name)
def __repr__(self):
return "<C HypView instance at %s>" % (self.this,)
def __init__(self, *args):
_swig_setattr(self, HypView, 'this', _hv.new_HypView(*args))
_swig_setattr(self, HypView, 'thisown', 1)
def afterRealize(*args): return _hv.HypView_afterRealize(*args)
def getWidget(*args): return _hv.HypView_getWidget(*args)
def __del__(self, destroy=_hv.delete_HypView):
try:
if self.thisown: destroy(self)
except: pass
def enumerateSubtree(*args): return _hv.HypView_enumerateSubtree(*args)
def flashLink(*args): return _hv.HypView_flashLink(*args)
def getCenter(*args): return _hv.HypView_getCenter(*args)
def gotoNode(*args): return _hv.HypView_gotoNode(*args)
def gotoCenterNode(*args): return _hv.HypView_gotoCenterNode(*args)
def gotoPickPoint(*args): return _hv.HypView_gotoPickPoint(*args)
def newLayout(*args): return _hv.HypView_newLayout(*args)
def saveGraph(*args): return _hv.HypView_saveGraph(*args)
def setCurrentCenter(*args): return _hv.HypView_setCurrentCenter(*args)
def setGraphCenter(*args): return _hv.HypView_setGraphCenter(*args)
def setGraph(*args): return _hv.HypView_setGraph(*args)
def initGraph(*args): return _hv.HypView_initGraph(*args)
def setDisableGroup(*args): return _hv.HypView_setDisableGroup(*args)
def setGroupKey(*args): return _hv.HypView_setGroupKey(*args)
def setSelected(*args): return _hv.HypView_setSelected(*args)
def setSelectedSubtree(*args): return _hv.HypView_setSelectedSubtree(*args)
def addLink(*args): return _hv.HypView_addLink(*args)
def addNode(*args): return _hv.HypView_addNode(*args)
def getChildCount(*args): return _hv.HypView_getChildCount(*args)
def getDrawLink(*args): return _hv.HypView_getDrawLink(*args)
def getDrawNode(*args): return _hv.HypView_getDrawNode(*args)
def getIncomingCount(*args): return _hv.HypView_getIncomingCount(*args)
def getOutgoingCount(*args): return _hv.HypView_getOutgoingCount(*args)
def resetColorLink(*args): return _hv.HypView_resetColorLink(*args)
def setLinkPolicy(*args): return _hv.HypView_setLinkPolicy(*args)
def setColorGroup(*args): return _hv.HypView_setColorGroup(*args)
def setColorLink(*args): return _hv.HypView_setColorLink(*args)
def setDrawBackFrom(*args): return _hv.HypView_setDrawBackFrom(*args)
def setDrawBackTo(*args): return _hv.HypView_setDrawBackTo(*args)
def setDrawLink(*args): return _hv.HypView_setDrawLink(*args)
def setDrawLinks(*args): return _hv.HypView_setDrawLinks(*args)
def setDrawNode(*args): return _hv.HypView_setDrawNode(*args)
def setDrawNodes(*args): return _hv.HypView_setDrawNodes(*args)
def setNegativeHide(*args): return _hv.HypView_setNegativeHide(*args)
def setNodeGroup(*args): return _hv.HypView_setNodeGroup(*args)
def bindCallback(*args): return _hv.HypView_bindCallback(*args)
def drawFrame(*args): return _hv.HypView_drawFrame(*args)
def idle(*args): return _hv.HypView_idle(*args)
def idleCB(*args): return _hv.HypView_idleCB(*args)
def motion(*args): return _hv.HypView_motion(*args)
def mouse(*args): return _hv.HypView_mouse(*args)
def passive(*args): return _hv.HypView_passive(*args)
def redraw(*args): return _hv.HypView_redraw(*args)
def reshape(*args): return _hv.HypView_reshape(*args)
def setHiliteCallback(*args): return _hv.HypView_setHiliteCallback(*args)
def setLabelToRight(*args): return _hv.HypView_setLabelToRight(*args)
def setPickCallback(*args): return _hv.HypView_setPickCallback(*args)
def addSpanPolicy(*args): return _hv.HypView_addSpanPolicy(*args)
def clearSpanPolicy(*args): return _hv.HypView_clearSpanPolicy(*args)
def getDynamicFrameTime(*args): return _hv.HypView_getDynamicFrameTime(*args)
def getIdleFrameTime(*args): return _hv.HypView_getIdleFrameTime(*args)
def getPickFrameTime(*args): return _hv.HypView_getPickFrameTime(*args)
def getCenterShow(*args): return _hv.HypView_getCenterShow(*args)
def getCenterLargest(*args): return _hv.HypView_getCenterLargest(*args)
def getEdgeSize(*args): return _hv.HypView_getEdgeSize(*args)
def getGenerationNodeLimit(*args): return _hv.HypView_getGenerationNodeLimit(*args)
def getGenerationLinkLimit(*args): return _hv.HypView_getGenerationLinkLimit(*args)
def getGotoStepSize(*args): return _hv.HypView_getGotoStepSize(*args)
def getLabels(*args): return _hv.HypView_getLabels(*args)
def getLabelSize(*args): return _hv.HypView_getLabelSize(*args)
def getLabelFont(*args): return _hv.HypView_getLabelFont(*args)
def getLeafRad(*args): return _hv.HypView_getLeafRad(*args)
def getMaxLength(*args): return _hv.HypView_getMaxLength(*args)
def getMotionCull(*args): return _hv.HypView_getMotionCull(*args)
def getNegativeHide(*args): return _hv.HypView_getNegativeHide(*args)