mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-23 12:02:44 +00:00
Rename and move sub panels of Costing and Schedule Tab
This commit is contained in:
@@ -147,8 +147,6 @@ classes = [
|
|||||||
ui.BIM_PT_tab_services_object,
|
ui.BIM_PT_tab_services_object,
|
||||||
# Structural analysis
|
# Structural analysis
|
||||||
ui.BIM_PT_tab_structural,
|
ui.BIM_PT_tab_structural,
|
||||||
# Construction scheduling
|
|
||||||
ui.BIM_PT_tab_4D5D,
|
|
||||||
# Facility management
|
# Facility management
|
||||||
ui.BIM_PT_tab_handover,
|
ui.BIM_PT_tab_handover,
|
||||||
ui.BIM_PT_tab_operations,
|
ui.BIM_PT_tab_operations,
|
||||||
|
|||||||
@@ -21,21 +21,19 @@ import blenderbim.bim.module.cost.prop as CostProp
|
|||||||
from bpy.types import Panel, UIList
|
from bpy.types import Panel, UIList
|
||||||
from blenderbim.bim.ifc import IfcStore
|
from blenderbim.bim.ifc import IfcStore
|
||||||
from blenderbim.bim.module.cost.data import CostSchedulesData
|
from blenderbim.bim.module.cost.data import CostSchedulesData
|
||||||
|
import blenderbim.tool as tool
|
||||||
|
|
||||||
|
|
||||||
class BIM_PT_cost_schedules(Panel):
|
class BIM_PT_cost_schedules(Panel):
|
||||||
bl_label = "Cost Schedules"
|
bl_label = "Cost Schedules"
|
||||||
bl_idname = "BIM_PT_cost_schedules"
|
bl_idname = "BIM_PT_cost_schedules"
|
||||||
bl_options = {"DEFAULT_CLOSED"}
|
|
||||||
bl_space_type = "PROPERTIES"
|
bl_space_type = "PROPERTIES"
|
||||||
bl_region_type = "WINDOW"
|
bl_region_type = "WINDOW"
|
||||||
bl_context = "scene"
|
bl_context = "scene"
|
||||||
bl_parent_id = "BIM_PT_tab_4D5D"
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def poll(cls, context):
|
def poll(cls, context):
|
||||||
file = IfcStore.get_file()
|
return tool.Blender.is_tab(context, "SCHEDULING") and tool.Ifc.get() and tool.Ifc.get().schema != "IFC2X3"
|
||||||
return file and hasattr(file, "schema") and file.schema != "IFC2X3"
|
|
||||||
|
|
||||||
def draw(self, context):
|
def draw(self, context):
|
||||||
if not CostSchedulesData.is_loaded:
|
if not CostSchedulesData.is_loaded:
|
||||||
@@ -48,8 +46,9 @@ class BIM_PT_cost_schedules(Panel):
|
|||||||
row.label(text=f"{CostSchedulesData.data['total_cost_schedules']} Cost Schedules Found", icon="TEXT")
|
row.label(text=f"{CostSchedulesData.data['total_cost_schedules']} Cost Schedules Found", icon="TEXT")
|
||||||
row.operator("bim.export_cost_schedules", text="Export as spreadsheet", icon="EXPORT")
|
row.operator("bim.export_cost_schedules", text="Export as spreadsheet", icon="EXPORT")
|
||||||
else:
|
else:
|
||||||
row.label(text="No Cost Schedules Found found.", icon="COMMUNITY")
|
row.label(text="No Cost Schedules found.", icon="COMMUNITY")
|
||||||
row = self.layout.row()
|
row = self.layout.row()
|
||||||
|
row.alignment = "RIGHT"
|
||||||
row.prop(self.props, "cost_schedule_predefined_types")
|
row.prop(self.props, "cost_schedule_predefined_types")
|
||||||
row.operator("bim.add_cost_schedule", icon="ADD", text="Add")
|
row.operator("bim.add_cost_schedule", icon="ADD", text="Add")
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import blenderbim.bim.helper
|
|||||||
from bpy.types import Panel, UIList
|
from bpy.types import Panel, UIList
|
||||||
from blenderbim.bim.ifc import IfcStore
|
from blenderbim.bim.ifc import IfcStore
|
||||||
from blenderbim.bim.module.resource.data import ResourceData
|
from blenderbim.bim.module.resource.data import ResourceData
|
||||||
|
import blenderbim.tool as tool
|
||||||
|
|
||||||
|
|
||||||
class BIM_PT_resources(Panel):
|
class BIM_PT_resources(Panel):
|
||||||
@@ -29,12 +30,10 @@ class BIM_PT_resources(Panel):
|
|||||||
bl_space_type = "PROPERTIES"
|
bl_space_type = "PROPERTIES"
|
||||||
bl_region_type = "WINDOW"
|
bl_region_type = "WINDOW"
|
||||||
bl_context = "scene"
|
bl_context = "scene"
|
||||||
bl_parent_id = "BIM_PT_tab_4D5D"
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def poll(cls, context):
|
def poll(cls, context):
|
||||||
file = IfcStore.get_file()
|
return tool.Blender.is_tab(context, "SCHEDULING") and tool.Ifc.get() and tool.Ifc.get().schema != "IFC2X3"
|
||||||
return file and hasattr(file, "schema") and file.schema != "IFC2X3"
|
|
||||||
|
|
||||||
def draw(self, context):
|
def draw(self, context):
|
||||||
self.props = context.scene.BIMResourceProperties
|
self.props = context.scene.BIMResourceProperties
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ from bpy.types import Panel, UIList
|
|||||||
from blenderbim.bim.ifc import IfcStore
|
from blenderbim.bim.ifc import IfcStore
|
||||||
from blenderbim.bim.helper import draw_attributes
|
from blenderbim.bim.helper import draw_attributes
|
||||||
from blenderbim.bim.module.sequence.data import WorkPlansData, WorkScheduleData, SequenceData, TaskICOMData
|
from blenderbim.bim.module.sequence.data import WorkPlansData, WorkScheduleData, SequenceData, TaskICOMData
|
||||||
|
import blenderbim.tool as tool
|
||||||
|
|
||||||
|
|
||||||
class BIM_PT_work_plans(Panel):
|
class BIM_PT_work_plans(Panel):
|
||||||
@@ -31,12 +32,10 @@ class BIM_PT_work_plans(Panel):
|
|||||||
bl_space_type = "PROPERTIES"
|
bl_space_type = "PROPERTIES"
|
||||||
bl_region_type = "WINDOW"
|
bl_region_type = "WINDOW"
|
||||||
bl_context = "scene"
|
bl_context = "scene"
|
||||||
bl_parent_id = "BIM_PT_tab_4D5D"
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def poll(cls, context):
|
def poll(cls, context):
|
||||||
file = IfcStore.get_file()
|
return tool.Blender.is_tab(context, "SCHEDULING") and tool.Ifc.get() and tool.Ifc.get().schema != "IFC2X3"
|
||||||
return file and file.schema != "IFC2X3"
|
|
||||||
|
|
||||||
def draw(self, context):
|
def draw(self, context):
|
||||||
if not WorkPlansData.is_loaded:
|
if not WorkPlansData.is_loaded:
|
||||||
@@ -99,16 +98,13 @@ class BIM_PT_work_plans(Panel):
|
|||||||
class BIM_PT_work_schedules(Panel):
|
class BIM_PT_work_schedules(Panel):
|
||||||
bl_label = "Work Schedules"
|
bl_label = "Work Schedules"
|
||||||
bl_idname = "BIM_PT_work_schedules"
|
bl_idname = "BIM_PT_work_schedules"
|
||||||
bl_options = {"DEFAULT_CLOSED"}
|
|
||||||
bl_space_type = "PROPERTIES"
|
bl_space_type = "PROPERTIES"
|
||||||
bl_region_type = "WINDOW"
|
bl_region_type = "WINDOW"
|
||||||
bl_context = "scene"
|
bl_context = "scene"
|
||||||
bl_parent_id = "BIM_PT_tab_4D5D"
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def poll(cls, context):
|
def poll(cls, context):
|
||||||
file = IfcStore.get_file()
|
return tool.Blender.is_tab(context, "SCHEDULING") and tool.Ifc.get() and tool.Ifc.get().schema != "IFC2X3"
|
||||||
return file and hasattr(file, "schema") and file.schema != "IFC2X3"
|
|
||||||
|
|
||||||
def draw(self, context):
|
def draw(self, context):
|
||||||
if not SequenceData.is_loaded:
|
if not SequenceData.is_loaded:
|
||||||
@@ -131,7 +127,7 @@ class BIM_PT_work_schedules(Panel):
|
|||||||
row = self.layout.row(align=True)
|
row = self.layout.row(align=True)
|
||||||
row.alignment = "RIGHT"
|
row.alignment = "RIGHT"
|
||||||
row.prop(self.props, "work_schedule_predefined_types")
|
row.prop(self.props, "work_schedule_predefined_types")
|
||||||
row.operator("bim.add_work_schedule", text="Add new", icon="ADD")
|
row.operator("bim.add_work_schedule", text="Add", icon="ADD")
|
||||||
|
|
||||||
for work_schedule_id, work_schedule in SequenceData.data["work_schedules"].items():
|
for work_schedule_id, work_schedule in SequenceData.data["work_schedules"].items():
|
||||||
|
|
||||||
@@ -817,12 +813,10 @@ class BIM_PT_work_calendars(Panel):
|
|||||||
bl_space_type = "PROPERTIES"
|
bl_space_type = "PROPERTIES"
|
||||||
bl_region_type = "WINDOW"
|
bl_region_type = "WINDOW"
|
||||||
bl_context = "scene"
|
bl_context = "scene"
|
||||||
bl_parent_id = "BIM_PT_tab_4D5D"
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def poll(cls, context):
|
def poll(cls, context):
|
||||||
file = IfcStore.get_file()
|
return tool.Blender.is_tab(context, "SCHEDULING") and tool.Ifc.get() and tool.Ifc.get().schema != "IFC2X3"
|
||||||
return file and hasattr(file, "schema") and file.schema != "IFC2X3"
|
|
||||||
|
|
||||||
def draw(self, context):
|
def draw(self, context):
|
||||||
if not SequenceData.is_loaded:
|
if not SequenceData.is_loaded:
|
||||||
|
|||||||
@@ -405,20 +405,6 @@ class BIM_PT_geometry(Panel):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class BIM_PT_tab_4D5D(Panel):
|
|
||||||
bl_label = "Costing and Scheduling"
|
|
||||||
bl_space_type = "PROPERTIES"
|
|
||||||
bl_region_type = "WINDOW"
|
|
||||||
bl_context = "scene"
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def poll(cls, context):
|
|
||||||
return tool.Blender.is_tab(context, "SCHEDULING") and tool.Ifc.get()
|
|
||||||
|
|
||||||
def draw(self, context):
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
class BIM_PT_tab_structural(Panel):
|
class BIM_PT_tab_structural(Panel):
|
||||||
bl_label = "Structural"
|
bl_label = "Structural"
|
||||||
bl_space_type = "PROPERTIES"
|
bl_space_type = "PROPERTIES"
|
||||||
|
|||||||
Reference in New Issue
Block a user