# 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
# ***************************************************************************
# *                                                                         *
# *   Copyright (c) 2016 execuc                                             *
# *                                                                         *
# *   This file is part of LCInterlocking module.                           *
# *   LCInterlocking module is free software; you can redistribute it and/or*
# *   modify it under the terms of the GNU Lesser General Public            *
# *   License as published by the Free Software Foundation; either          *
# *   version 2.1 of the License, or (at your option) any later version.    *
# *                                                                         *
# *   This module is distributed in the hope that it will be useful,       *
# *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
# *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
# *   Lesser General Public License for more details.                       *
# *                                                                         *
# *   You should have received a copy of the GNU Lesser General Public      *
# *   License along with this library; if not, write to the Free Software   *
# *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,            *
# *   MA  02110-1301  USA                                                   *
# *                                                                         *
# ***************************************************************************


__dir__ = os.path.dirname(__file__)
iconPath = os.path.join(__dir__, 'icons')

class GroupBox:
    def __init__(self, obj):
        obj.addProperty("App::PropertyPythonObject", "box_properties").box_properties = BoxProperties()  # supported  https://www.freecadweb.org/wiki/Scripted_objects
        obj.addProperty("App::PropertyPythonObject", "top_properties").top_properties = TopBottomProperties()

# 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

# ***************************************************************************
# *                                                                         *
# *   Copyright (c) 2016 execuc                                             *
# *                                                                         *
# *   This file is part of LCInterlocking module.                           *
# *   LCInterlocking module is free software; you can redistribute it and/or*
# *   modify it under the terms of the GNU Lesser General Public            *
# *   License as published by the Free Software Foundation; either          *
# *   version 2.1 of the License, or (at your option) any later version.    *
# *                                                                         *
# *   This module is distributed in the hope that it will be useful,       *
# *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
# *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
# *   Lesser General Public License for more details.                       *
# *                                                                         *
# *   You should have received a copy of the GNU Lesser General Public      *
# *   License along with this library; if not, write to the Free Software   *
# *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,            *
# *   MA  02110-1301  USA                                                   *
# *                                                                         *
# ***************************************************************************


__dir__ = os.path.dirname(__file__)
iconPath = os.path.join(__dir__, 'icons')

class GroupBox:
    def __init__(self, obj):
        obj.addProperty("App::PropertyPythonObject", "box_properties").box_properties = BoxProperties()  # supported  https://www.freecadweb.org/wiki/Scripted_objects
        obj.addProperty("App::PropertyPythonObject", "top_properties").top_properties = TopBottomProperties()

        obj.addProperty("App::PropertyPythonObject", "bottom_properties").bottom_properties = TopBottomProperties()