# Path: panel/box.py
# class DimensionBoxParam(ParamWidget):
# class LengthWidthBoxParam(ParamWidget):
# class BottomBoxParam(ParamWidget):
# class TopBoxParam(ParamWidget):
#     def __init__(self, properties = None):
#     def __init__(self, properties = None):
#     def __init__(self, properties = None):
#     def __init__(self, properties = None):
# 
# Path: lasercut/makebox.py
# def make_box(dimension_properties, top_properties, bottom_properties):
# def make_box_outside_measure(dimension_properties, top_properties, bottom_properties, part_list):
# def make_box_inside_measure(dimension_properties, top_properties, bottom_properties, part_list):
# def make_z_panel(length, width, thickness, z_pos):
# def make_front_panels(length, height, thickness, spacing):
# def make_twice_half_front_panel(length, height, thickness, spacing):
# def make_side_panels(width, height, thickness, spacing):


from FreeCAD import Gui
from panel.box import BoxProperties, TopBottomProperties, DimensionBoxParam, LengthWidthBoxParam, BottomBoxParam, TopBoxParam
from lasercut import makebox
from PySide import QtCore, QtGui
import FreeCAD
import FreeCADGui
import Part
import os
import math
import Draft
import copy
        '''
        return None

    def attach(self, vobj):
        self.ViewObject = vobj
        self.Object = vobj.Object

    def claimChildren(self):
        return self.Object.parts


class MakeBox:

    def __init__(self, obj_box):
        self.form = []
        self.main_widget = QtGui.QWidget()
        self.main_widget.setWindowTitle("Make box")
        self.parts_vbox = QtGui.QGridLayout(self.main_widget)
        self.form.append(self.main_widget)

        self.preview_button = QtGui.QPushButton('Preview', self.main_widget)
        self.parts_vbox.addWidget(self.preview_button, 0, 0, 1, 2)
        self.preview_button.clicked.connect(self.preview)

        self.obj_box = obj_box
        self.box_properties_origin = copy.deepcopy(self.obj_box.box_properties)
        self.bottom_properties_origin = copy.deepcopy(self.obj_box.bottom_properties)
        self.top_properties_origin = copy.deepcopy(self.obj_box.top_properties)

        self.dim_box_param = DimensionBoxParam(self.obj_box.box_properties)

# Path: panel/box.py
# class DimensionBoxParam(ParamWidget):
# class LengthWidthBoxParam(ParamWidget):
# class BottomBoxParam(ParamWidget):
# class TopBoxParam(ParamWidget):
#     def __init__(self, properties = None):
#     def __init__(self, properties = None):
#     def __init__(self, properties = None):
#     def __init__(self, properties = None):
# 
# Path: lasercut/makebox.py
# def make_box(dimension_properties, top_properties, bottom_properties):
# def make_box_outside_measure(dimension_properties, top_properties, bottom_properties, part_list):
# def make_box_inside_measure(dimension_properties, top_properties, bottom_properties, part_list):
# def make_z_panel(length, width, thickness, z_pos):
# def make_front_panels(length, height, thickness, spacing):
# def make_twice_half_front_panel(length, height, thickness, spacing):
# def make_side_panels(width, height, thickness, spacing):


# Path: MakeBoxPanel.py
from FreeCAD import Gui
from panel.box import BoxProperties, TopBottomProperties, DimensionBoxParam, LengthWidthBoxParam, BottomBoxParam, TopBoxParam
from lasercut import makebox
from PySide import QtCore, QtGui
import FreeCAD
import FreeCADGui
import Part
import os
import math
import Draft
import copy

        '''
        return None

    def attach(self, vobj):
        self.ViewObject = vobj
        self.Object = vobj.Object

    def claimChildren(self):
        return self.Object.parts


class MakeBox:

    def __init__(self, obj_box):
        self.form = []
        self.main_widget = QtGui.QWidget()
        self.main_widget.setWindowTitle("Make box")
        self.parts_vbox = QtGui.QGridLayout(self.main_widget)
        self.form.append(self.main_widget)

        self.preview_button = QtGui.QPushButton('Preview', self.main_widget)
        self.parts_vbox.addWidget(self.preview_button, 0, 0, 1, 2)
        self.preview_button.clicked.connect(self.preview)

        self.obj_box = obj_box
        self.box_properties_origin = copy.deepcopy(self.obj_box.box_properties)
        self.bottom_properties_origin = copy.deepcopy(self.obj_box.bottom_properties)
        self.top_properties_origin = copy.deepcopy(self.obj_box.top_properties)

        self.dim_box_param = DimensionBoxParam(self.obj_box.box_properties)

        self.general_box_param = LengthWidthBoxParam(self.obj_box.box_properties)