GUI creates the ini file now and add layers

Signed-off-by: John Thornton <bjt128@gmail.com>
This commit is contained in:
John Thornton
2015-11-05 08:20:53 -06:00
parent 98ac4ba3c1
commit 90c48ae594
5 changed files with 127 additions and 82 deletions

111
dxf.py
View File

@ -6,7 +6,8 @@ version = '1.0.0'
import gtk
import os
import subprocess
#import subprocess
from subprocess import Popen, PIPE
import ConfigParser
class Buglump:
@ -28,7 +29,7 @@ class Buglump:
self.label2 = self.builder.get_object('label2')
self.save_directory = self.builder.get_object('save_directory_entry')
self.output_name = self.builder.get_object('output_name_entry')
self.file_name = ''
self.input_file = ''
self.ini_file = ''
self.config = ConfigParser.ConfigParser()
self.config.optionxform = str
@ -36,53 +37,7 @@ class Buglump:
self.window.show()
self.ini_check()
def on_window_destroy(self, object, data=None):
gtk.main_quit()
def on_file_quit(self, menuitem, data=None):
gtk.main_quit()
def on_file_open(self, menuitem, data=None):
self.fcd = gtk.FileChooserDialog("Open...", None,
gtk.FILE_CHOOSER_ACTION_OPEN,
(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN, gtk.RESPONSE_OK))
if len(self.current_folder) > 0:
self.fcd.set_current_folder(self.current_folder)
self.response = self.fcd.run()
if self.response == gtk.RESPONSE_OK:
self.status.set_text('File Selected %s' % self.fcd.get_filename())
self.file_name = "-f=" + self.fcd.get_filename()
self.current_folder = os.path.dirname(self.fcd.get_uri()[7:])
self.file_analyze.set_sensitive(True)
self.file_convert.set_sensitive(True)
else:
self.status.set_text('No File Open')
self.fcd.destroy()
def on_file_analyze(self, menuitem, data=None):
print 'Analyze %s' % self.file_name
def on_file_convert(self, file_name, data=None):
if len(self.file_name) > 0:
self.args = self.file_name
self.result = subprocess.call("dxf2gcode %s" %self.args, shell=True)
if self.result == 0:
self.status.set_text('Processing Complete')
else:
self.status.set_text('Error %d Processing %s' % (self.result, self.file_name))
else:
self.status.set_text('No File Open')
def on_view_test(self, item, data=None):
message = 'Do you like my test?\nPick one.'
result = self.yesno_dialog(message)
if result == gtk.RESPONSE_YES:
print 'view yes'
if result == gtk.RESPONSE_NO:
print 'view no'
if result == gtk.RESPONSE_DELETE_EVENT:
print 'view delete'
# Startup Checks
def ini_check(self, data=None):
ini_path = os.path.expanduser('~') + '/.config/dxf2emc'
self.ini_file = ini_path + '/dxf2emc.ini'
@ -114,10 +69,67 @@ class Buglump:
self.config.write(cfgfile)
cfgfile.close
def on_window_destroy(self, object, data=None):
gtk.main_quit()
# File Menu Items
def on_file_quit(self, menuitem, data=None):
gtk.main_quit()
def on_file_open(self, menuitem, data=None):
self.fcd = gtk.FileChooserDialog("Open...", None,
gtk.FILE_CHOOSER_ACTION_OPEN,
(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN, gtk.RESPONSE_OK))
if len(self.current_folder) > 0:
self.fcd.set_current_folder(self.current_folder)
self.response = self.fcd.run()
if self.response == gtk.RESPONSE_OK:
self.status.set_text('File Selected %s' % self.fcd.get_filename())
self.input_file = "-f=" + self.fcd.get_filename()
self.current_folder = os.path.dirname(self.fcd.get_uri()[7:])
self.file_analyze.set_sensitive(True)
self.file_convert.set_sensitive(True)
self.on_file_analyze()
else:
self.status.set_text('No File Open')
self.fcd.destroy()
def on_file_analyze(self, menuitem, data=None):
print 'Analyze %s' % self.input_file
command = "dxf2gcode -a"
process = Popen(command, stdout=PIPE, stderr=PIPE, shell=True)
output, error = process.communicate()
def on_file_convert(self, input_file, data=None):
if len(self.input_file) > 0:
self.args = self.input_file
self.result = Popen("dxf2gcode %s" %self.args, shell=True)
if self.result == 0:
self.status.set_text('Processing Complete')
else:
self.status.set_text('Error %d Processing %s' % (self.result, self.input_file))
else:
self.status.set_text('No File Open')
# View Menu Items
def on_view_test(self, item, data=None):
message = 'Do you like my test?\nPick one.'
result = self.yesno_dialog(message)
if result == gtk.RESPONSE_YES:
print 'view yes'
if result == gtk.RESPONSE_NO:
print 'view no'
if result == gtk.RESPONSE_DELETE_EVENT:
print 'view delete'
# Help Menu Items
def on_help_about(self, menuitem, data=None):
self.response = self.aboutdialog.run()
self.aboutdialog.hide()
# Setup Tab
# Preferences Tab
def on_revert_prefrences(self, data=None):
try:
self.tolerance.set_text(self.config.get('Configuration', 'TOLERANCE'))
@ -150,6 +162,7 @@ class Buglump:
self.config.write(cfgfile)
cfgfile.close()
# Message Dialogs
def yesno_dialog(self, message):
md = gtk.MessageDialog(self.window,
gtk.DIALOG_DESTROY_WITH_PARENT, gtk.MESSAGE_INFO,