[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [2673] branches/geodesic_domes/ geodesic_domes_260/third_domes_panel.py: report does not work directly, error messages done as labels under the activation button

Peter K.H. Gragert pkhgragert at gmail.com
Mon Nov 28 07:56:58 CET 2011


Revision: 2673
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=2673
Author:   pkhg
Date:     2011-11-28 06:56:56 +0000 (Mon, 28 Nov 2011)
Log Message:
-----------
report does not work directly, error messages done as labels under the activation button

Modified Paths:
--------------
    branches/geodesic_domes/geodesic_domes_260/third_domes_panel.py

Modified: branches/geodesic_domes/geodesic_domes_260/third_domes_panel.py
===================================================================
--- branches/geodesic_domes/geodesic_domes_260/third_domes_panel.py	2011-11-28 06:39:38 UTC (rev 2672)
+++ branches/geodesic_domes/geodesic_domes_260/third_domes_panel.py	2011-11-28 06:56:56 UTC (rev 2673)
@@ -34,7 +34,8 @@
             else:
                 print(name , " contains ==>",el)
     print("\ncheck_contains finished\n\n")
-
+### error messages?!
+bpy.types.Scene.error_message = StringProperty(name="actual error", default = "")    
 ########for debug######
 
 
@@ -54,6 +55,12 @@
         layout = self.layout
         col = layout.column()
         col.operator(GenerateGeodesicDome.bl_idname,"execute me!")
+        if context.scene.error_message == "":
+            col.label("No ERROR at this moment")
+        else:
+            tmp = context.scene.error_message.split("\n")
+            for el in tmp:
+                col.label(el)
 
 class GenerateGeodesicDome(bpy.types.Operator):
     bl_label = "Generate geodesic dome objects"
@@ -546,6 +553,7 @@
         superformparam = [um,un1,un2,un3,ua,ub,vm,vn1,vn2,vn3,va,vb,\
                       uact,vact,uturn*pi,vturn*pi,utwist,vtwist]
 #PKHG 22-11
+        context.scene.error_message = "" 
         if self.mainpages == 'Main':
 #PKHG_DBG_OK            print("23-11 ---L345-------- geodesic_types: ",self.geodesic_types)
             if self.geodesic_types == "Geodesic":
@@ -654,8 +662,10 @@
             elif self.geodesic_types == "Import your mesh":
                 obj_name = self.import_mesh_name
                 if obj_name == "None":
-                    self.report({"WARNING"},"fill in a name of an existing mesh to be imported")
-                    print("***WARNING*** you have to fill in the name of an existing mesh")
+                    message = "fill in a name \nof an existing mesh\nto be imported"
+                    context.scene.error_message = message
+                    self.report({"INFO"}, message)
+                    print("***INFO*** you have to fill in the name of an existing mesh")
                 else:
 #                    obj_in_scene = context.objects
                     names = [el.name for el in context.scene.objects]
@@ -669,7 +679,9 @@
                         last_generated_object.name ="Imported mesh"
                         bpy.context.active_object.location = (0,0,0)
                     else:
-                        self.report({'ERROR'}, obj_name +" does not exist or is not a MESH")
+                        message = obj_name +" does not exist \nor is not a MESH"
+                        context.scene.error_message = message
+                        self.report({'ERROR'}, message)
                         print("***ERROR***" + obj_name +" does not exist or is not a MESH")
         elif self.mainpages == "Hubs":
 #False not used 24-11
@@ -684,6 +696,7 @@
             hublength = self.hublength
             hstog =  self.hstog
             hmeshname=  self.hmeshname
+#PKHG_TODO_17-11 better info!            
             if not (hmeshname == "None") and not (hubimpmesh == "None") and  hubtoggle:
                 try:                    
                     hub_obj = vefm_259.importmesh(hmeshname,0)
@@ -695,8 +708,12 @@
                     vefm_259.vefm_add_object(mesh)
                     bpy.data.objects[-1].location = (0,0,0)
                 except:
-                    print("***ERROR*** either no mesh hub or ",hmeshname, "available")
+                    message = "***ERROR*** \neither no mesh for hub\nor " + hmeshname +  " available"
+                    context.scene.error_message = message
+                    print(message)
             else:
+                message = "***INFO***\nuse the hub toggle!"
+                context.scene.error_message = message
                 print("\n***INFO*** use the hub toggle!")
         elif self.mainpages == "Struts":
             struttype = self.struttype
@@ -723,6 +740,8 @@
                     last_generated_object.name = smeshname
                     last_generated_object.location  = (0,0,0)
                 else:
+                    message = "***ERROR***\n" + strutimpmesh + "\nis not a MESH"
+                    context.scene.error_message = message
                     print("***ERROR*** strut obj is not a MESH")
             else:
                 vefm_259.vefm_add_object(basegeodesic)
@@ -747,6 +766,8 @@
                     if last_imported_mesh: 
                         faceobject = vefm_259.facetype(last_imported_mesh, facedata,self.facewidth,self.faceheight,self.fwtog)
                     else:
+                        message = "***ERROR***\nno imported message available\n" + "last geodesic used" 
+                        context.scene.error_message = message
                         print("\n***ERROR*** no imported mesh available")
                         print("last geodesic used!")
                         faceobject = vefm_259.facetype(basegeodesic,facedata,\



More information about the Bf-extensions-cvs mailing list