#!/usr/bin/env python

# ----------------------------------------------------------------------------------------------------

# if sys.platform == 'win32':

diagnostics   = 1
if diagnostics:
   fileHandle = open( 'PymolDiagnostics.txt', 'w' ) 
   fileHandle.write( "\nIn run.py\n\n" )
   fileHandle.flush()

import os

message = "\nStart of environment settings:\n"
for arg in os.environ.keys():
   message += '   <' + arg + '>=<' + os.environ[arg] + '>\n'
message += "\nEnd of environment settings:\n"

if diagnostics:
   fileHandle.write( message )
   fileHandle.flush()

print message

import math, sys
import re

# ----------------------------------------------------------------------------------------------------

from Tkinter import *

sys.path.append(os.getcwd())

if os.environ.has_key( 'PYTHONHOME' ):
   sys.path.append( os.environ['PYTHONHOME'] + "/lib/python2.4/site-packages" )

# else:
   # sys.path.append( "/Users/simbios/friedrim/src/pymol/ext/lib/python2.4/site-packages" )

# set environment variables

if os.path.exists(os.environ['PYMOL_PATH']+'/ext/lib/tcl8.4'): os.environ['TCL_LIBRARY']=os.environ['PYMOL_PATH']+'/ext/lib/tcl8.4'
if os.path.exists(os.environ['PYMOL_PATH']+'/ext/lib/tk8.4'): os.environ['TK_LIBRARY']=os.environ['PYMOL_PATH']+'/ext/lib/tk8.4'
if( os.environ['PYMOL_PATH']+'/modules') not in sys.path: sys.path.insert(0,os.environ['PYMOL_PATH']+'/modules')
if not os.environ.has_key('PYMOL_DATA'): os.environ['PYMOL_DATA']=os.environ['PYMOL_PATH']+'/data'
os.environ['TUT']=os.environ['PYMOL_DATA']+'/tut'
if not os.environ.has_key('PYMOL_SCRIPTS'): os.environ['PYMOL_SCRIPTS']=os.environ['PYMOL_PATH']+'/scripts'

import Pmw
import traceback
import pymol

print str( Pmw )
print str( pymol )
import _tkinter
import Tkinter

# print versions

print "Tcl Version=<" + str(_tkinter.TCL_VERSION) + ">"
print "Tk Version=<" + str(TkVersion) + ">"
print "Tk Version=<" + str(Tkinter.__version__) + ">"

# ----------------------------------------------------------------------------------------------------

# SimTk modules

import BaseObjectSimTk
import UtilitiesSimTk
import LogSimTk 
from IsimDisplaySimTk import *

# ----------------------------------------------------------------------------------------------------

message  = "";
isimDisplay   = IsimDisplaySimTk()
if diagnostics:
   message += "\nStart of Command-line arguments:\n"
   for arg in sys.argv:
      message += '   <' + arg + '>'
   message += "\nEnd of Command-line arguments:\n"
   
   message += "\nStart of environment settings:\n"
   for arg in os.environ.keys():
      message += '   <' + arg + '>=<' + os.environ[arg] + '>'
   message += "\nEnd of environment settings:\n"
   if fileHandle is not None:
      fileHandle.write( message )
      fileHandle.flush()
      fileHandle.close()
   print message

if os.environ.has_key( 'IsimDir' ):
   isimDisplay.setWorkingDirectoryName( os.environ['IsimDir'] )
else:
   isimDisplay.setWorkingDirectoryName( '.' )

logReference  = isimDisplay.getLogReference( isimDisplay.getWorkingDirectoryName()  +
                                             isimDisplay.getFilePathSeparator() +
                                             'IsimDisplay.log' )

# read isim.in and generate display

isimDisplay.readIsimInputFile( )
isimDisplay.generateDisplay( None )
  
