equal
deleted
inserted
replaced
98 if ( !parent && name.isEmpty() ) { |
98 if ( !parent && name.isEmpty() ) { |
99 HB_DOCUMENTLOADER_PRINT( QString( "Top level object must have name" ) ); |
99 HB_DOCUMENTLOADER_PRINT( QString( "Top level object must have name" ) ); |
100 return false; |
100 return false; |
101 } |
101 } |
102 |
102 |
103 QObject *current = lookUp(type, name).first.data(); |
103 QObject *current = lookUp(type, name).mObject.data(); |
104 |
104 |
105 if( current == 0 ) { |
105 if( current == 0 ) { |
106 HB_DOCUMENTLOADER_PRINT( QString( "Not supported object: " ) + type ); |
106 HB_DOCUMENTLOADER_PRINT( QString( "Not supported object: " ) + type ); |
107 return false; |
107 return false; |
108 } |
108 } |
135 HB_DOCUMENTLOADER_PRINT( QString( "Object element cannot be parent of widget" ) ); |
135 HB_DOCUMENTLOADER_PRINT( QString( "Object element cannot be parent of widget" ) ); |
136 return false; |
136 return false; |
137 } |
137 } |
138 |
138 |
139 ObjectMapItem item = lookUp(type, name, plugin); |
139 ObjectMapItem item = lookUp(type, name, plugin); |
140 QObject *current = item.first.data(); |
140 QObject *current = item.mObject.data(); |
141 |
141 |
142 if( current == 0 ) { |
142 if( current == 0 ) { |
143 HB_DOCUMENTLOADER_PRINT( QString( "Not supported object: " ) + type ); |
143 HB_DOCUMENTLOADER_PRINT( QString( "Not supported object: " ) + type ); |
144 return false; |
144 return false; |
145 } |
145 } |
147 QGraphicsWidget *parentAsWidget(0); |
147 QGraphicsWidget *parentAsWidget(0); |
148 if (parentIsWidget) { |
148 if (parentIsWidget) { |
149 parentAsWidget = static_cast<QGraphicsWidget *>(parent); |
149 parentAsWidget = static_cast<QGraphicsWidget *>(parent); |
150 } |
150 } |
151 QGraphicsWidget *asWidget(0); |
151 QGraphicsWidget *asWidget(0); |
152 if (item.second == HbXml::WIDGET) { |
152 if (item.mType == HbXml::WIDGET) { |
153 asWidget = static_cast<QGraphicsWidget *>(current); |
153 asWidget = static_cast<QGraphicsWidget *>(current); |
154 } |
154 } |
155 |
155 |
156 if (!asWidget || (parent && !parentAsWidget)) { |
156 if (!asWidget || (parent && !parentAsWidget)) { |
157 HB_DOCUMENTLOADER_PRINT( QString( "Not a widget" ) ); |
157 HB_DOCUMENTLOADER_PRINT( QString( "Not a widget" ) ); |
192 } else if( !( mObjectMap.contains( widget ) ) ) { |
192 } else if( !( mObjectMap.contains( widget ) ) ) { |
193 HB_DOCUMENTLOADER_PRINT( QString( "SPACERITEM: NO SUCH ITEM " ) + widget ); |
193 HB_DOCUMENTLOADER_PRINT( QString( "SPACERITEM: NO SUCH ITEM " ) + widget ); |
194 return false; |
194 return false; |
195 } else { |
195 } else { |
196 ObjectMapItem &item = mObjectMap[ widget ]; |
196 ObjectMapItem &item = mObjectMap[ widget ]; |
197 if (item.second == HbXml::WIDGET) { |
197 if (item.mType == HbXml::WIDGET) { |
198 parent = qobject_cast<HbWidget *>( item.first.data() ); |
198 parent = qobject_cast<HbWidget *>( item.mObject.data() ); |
199 } |
199 } |
200 if( !parent ) { |
200 if( !parent ) { |
201 HB_DOCUMENTLOADER_PRINT( QString( "SPACERITEM: CANNOT SET SPACERITEM TO NON-HBWIDGET " ) ); |
201 HB_DOCUMENTLOADER_PRINT( QString( "SPACERITEM: CANNOT SET SPACERITEM TO NON-HBWIDGET " ) ); |
202 return false; |
202 return false; |
203 } |
203 } |
235 if( ! mObjectMap.contains( dstName ) ) { |
235 if( ! mObjectMap.contains( dstName ) ) { |
236 HB_DOCUMENTLOADER_PRINT( QString( "Unable to establish signal/slot connection, no instance with name " ) + dstName ); |
236 HB_DOCUMENTLOADER_PRINT( QString( "Unable to establish signal/slot connection, no instance with name " ) + dstName ); |
237 return false; |
237 return false; |
238 } |
238 } |
239 |
239 |
240 QObject *src = mObjectMap[ srcName ].first; |
240 QObject *src = mObjectMap[ srcName ].mObject; |
241 |
241 |
242 if( !src ) { |
242 if( !src ) { |
243 HB_DOCUMENTLOADER_PRINT( QString( "Unable to establish signal/slot connection, already destroyed " ) + srcName ); |
243 HB_DOCUMENTLOADER_PRINT( QString( "Unable to establish signal/slot connection, already destroyed " ) + srcName ); |
244 return false; |
244 return false; |
245 } |
245 } |
246 |
246 |
247 QObject *dst = mObjectMap[ dstName ].first; |
247 QObject *dst = mObjectMap[ dstName ].mObject; |
248 |
248 |
249 if( !dst ) { |
249 if( !dst ) { |
250 HB_DOCUMENTLOADER_PRINT( QString( "Unable to establish signal/slot connection, already destroyed " ) + dstName ); |
250 HB_DOCUMENTLOADER_PRINT( QString( "Unable to establish signal/slot connection, already destroyed " ) + dstName ); |
251 return false; |
251 return false; |
252 } |
252 } |
293 } |
293 } |
294 |
294 |
295 bool HbDocumentLoaderActions::pushRef( const QString &name, const QString &role ) |
295 bool HbDocumentLoaderActions::pushRef( const QString &name, const QString &role ) |
296 { |
296 { |
297 QObject *current = findFromStack(); |
297 QObject *current = findFromStack(); |
298 QObject *ref = mObjectMap[ name ].first.data(); |
298 QObject *ref = mObjectMap[ name ].mObject.data(); |
299 |
299 |
300 if( ( current == 0 ) || ( ref == 0 ) ) { |
300 if( ( current == 0 ) || ( ref == 0 ) ) { |
301 HB_DOCUMENTLOADER_PRINT( QString( "Wrong role name or role context" ) ); |
301 HB_DOCUMENTLOADER_PRINT( QString( "Wrong role name or role context" ) ); |
302 return false; |
302 return false; |
303 } |
303 } |
524 bool isWidget = false; |
524 bool isWidget = false; |
525 QObject *parentObj = findFromStack( &isWidget ); |
525 QObject *parentObj = findFromStack( &isWidget ); |
526 if( isWidget ) { |
526 if( isWidget ) { |
527 parent = static_cast<QGraphicsWidget *>( parentObj ); |
527 parent = static_cast<QGraphicsWidget *>( parentObj ); |
528 } |
528 } |
529 } else if ( mObjectMap.contains( widget ) && mObjectMap[ widget ].second == HbXml::WIDGET ) { |
529 } else if ( mObjectMap.contains( widget ) && mObjectMap[ widget ].mType == HbXml::WIDGET ) { |
530 parent = static_cast<QGraphicsWidget *>( mObjectMap[ widget ].first.data() ); |
530 parent = static_cast<QGraphicsWidget *>( mObjectMap[ widget ].mObject.data() ); |
531 } |
531 } |
532 if ( !parent ) { |
532 if ( !parent ) { |
533 HB_DOCUMENTLOADER_PRINT( QString( "ANCHORLAYOUT: PARENT NOT FOUND" ) ); |
533 HB_DOCUMENTLOADER_PRINT( QString( "ANCHORLAYOUT: PARENT NOT FOUND" ) ); |
534 return false; |
534 return false; |
535 } |
535 } |
592 if ( src.isEmpty() ) { |
592 if ( src.isEmpty() ) { |
593 item1 = layout; |
593 item1 = layout; |
594 } else if ( !( mObjectMap.contains( src ) ) ) { |
594 } else if ( !( mObjectMap.contains( src ) ) ) { |
595 item1 = findLayoutItem( *layout, src ); |
595 item1 = findLayoutItem( *layout, src ); |
596 } else { |
596 } else { |
597 if (mObjectMap[ src ].second == HbXml::WIDGET) { |
597 if (mObjectMap[ src ].mType == HbXml::WIDGET) { |
598 item1 = static_cast<QGraphicsWidget *>( mObjectMap[ src ].first.data() ); |
598 item1 = static_cast<QGraphicsWidget *>( mObjectMap[ src ].mObject.data() ); |
599 } |
599 } |
600 } |
600 } |
601 if ( !item1 ) { |
601 if ( !item1 ) { |
602 HB_DOCUMENTLOADER_PRINT( QString( "ANCHORLAYOUT: NO SUCH ITEM " ) + src ); |
602 HB_DOCUMENTLOADER_PRINT( QString( "ANCHORLAYOUT: NO SUCH ITEM " ) + src ); |
603 return false; |
603 return false; |
606 if ( dst.isEmpty() ) { |
606 if ( dst.isEmpty() ) { |
607 item2 = layout; |
607 item2 = layout; |
608 } else if( !( mObjectMap.contains( dst ) ) ) { |
608 } else if( !( mObjectMap.contains( dst ) ) ) { |
609 item2 = findLayoutItem( *layout, dst ); |
609 item2 = findLayoutItem( *layout, dst ); |
610 } else { |
610 } else { |
611 if (mObjectMap[ dst ].second == HbXml::WIDGET) { |
611 if (mObjectMap[ dst ].mType == HbXml::WIDGET) { |
612 item2 = static_cast<QGraphicsWidget *>( mObjectMap[ dst ].first.data() ); |
612 item2 = static_cast<QGraphicsWidget *>( mObjectMap[ dst ].mObject.data() ); |
613 } |
613 } |
614 } |
614 } |
615 if ( !item2 ) { |
615 if ( !item2 ) { |
616 HB_DOCUMENTLOADER_PRINT( QString( "ANCHORLAYOUT: NO SUCH ITEM " ) + dst ); |
616 HB_DOCUMENTLOADER_PRINT( QString( "ANCHORLAYOUT: NO SUCH ITEM " ) + dst ); |
617 return false; |
617 return false; |
634 bool isWidget = false; |
634 bool isWidget = false; |
635 QObject *parentObj = findFromStack( &isWidget ); |
635 QObject *parentObj = findFromStack( &isWidget ); |
636 if( isWidget ) { |
636 if( isWidget ) { |
637 parent = static_cast<QGraphicsWidget *>( parentObj ); |
637 parent = static_cast<QGraphicsWidget *>( parentObj ); |
638 } |
638 } |
639 } else if ( mObjectMap.contains( widget ) && mObjectMap[ widget ].second == HbXml::WIDGET ) { |
639 } else if ( mObjectMap.contains( widget ) && mObjectMap[ widget ].mType == HbXml::WIDGET ) { |
640 parent = static_cast<QGraphicsWidget *>( mObjectMap[ widget ].first.data() ); |
640 parent = static_cast<QGraphicsWidget *>( mObjectMap[ widget ].mObject.data() ); |
641 } |
641 } |
642 if ( !parent ) { |
642 if ( !parent ) { |
643 HB_DOCUMENTLOADER_PRINT( QString( "GRIDLAYOUT: PARENT NOT FOUND" ) ); |
643 HB_DOCUMENTLOADER_PRINT( QString( "GRIDLAYOUT: PARENT NOT FOUND" ) ); |
644 return false; |
644 return false; |
645 } |
645 } |
679 } |
679 } |
680 |
680 |
681 if( src.isEmpty() ) { |
681 if( src.isEmpty() ) { |
682 HB_DOCUMENTLOADER_PRINT( QString( "GRIDLAYOUT: TRY TO ADD EMPTY ITEM " ) + src ); |
682 HB_DOCUMENTLOADER_PRINT( QString( "GRIDLAYOUT: TRY TO ADD EMPTY ITEM " ) + src ); |
683 return false; |
683 return false; |
684 } else if ( mObjectMap.contains( src ) && mObjectMap[ src ].second == HbXml::WIDGET ) { |
684 } else if ( mObjectMap.contains( src ) && mObjectMap[ src ].mType == HbXml::WIDGET ) { |
685 item = static_cast<QGraphicsWidget *>( mObjectMap[ src ].first.data() ); |
685 item = static_cast<QGraphicsWidget *>( mObjectMap[ src ].mObject.data() ); |
686 } else { |
686 } else { |
687 HB_DOCUMENTLOADER_PRINT( QString( "GRIDLAYOUT: NO SUCH ITEM " ) + src ); |
687 HB_DOCUMENTLOADER_PRINT( QString( "GRIDLAYOUT: NO SUCH ITEM " ) + src ); |
688 return false; |
688 return false; |
689 } |
689 } |
690 |
690 |
870 bool isWidget = false; |
870 bool isWidget = false; |
871 QObject *parentObj = findFromStack( &isWidget ); |
871 QObject *parentObj = findFromStack( &isWidget ); |
872 if ( isWidget ) { |
872 if ( isWidget ) { |
873 parent = static_cast<QGraphicsWidget *>( parentObj ); |
873 parent = static_cast<QGraphicsWidget *>( parentObj ); |
874 } |
874 } |
875 } else if ( mObjectMap.contains( widget ) && mObjectMap[ widget ].second == HbXml::WIDGET ) { |
875 } else if ( mObjectMap.contains( widget ) && mObjectMap[ widget ].mType == HbXml::WIDGET ) { |
876 parent = static_cast<QGraphicsWidget *>( mObjectMap[ widget ].first.data() ); |
876 parent = static_cast<QGraphicsWidget *>( mObjectMap[ widget ].mObject.data() ); |
877 } |
877 } |
878 if ( !parent ) { |
878 if ( !parent ) { |
879 HB_DOCUMENTLOADER_PRINT( QString( "LINEARLAYOUT: PARENT NOT FOUND" ) ); |
879 HB_DOCUMENTLOADER_PRINT( QString( "LINEARLAYOUT: PARENT NOT FOUND" ) ); |
880 return false; |
880 return false; |
881 } |
881 } |
917 } |
917 } |
918 |
918 |
919 if ( itemname.isEmpty() ) { |
919 if ( itemname.isEmpty() ) { |
920 HB_DOCUMENTLOADER_PRINT( QString( "LINEARLAYOUT: TRY TO ADD EMPTY ITEM " ) + itemname ); |
920 HB_DOCUMENTLOADER_PRINT( QString( "LINEARLAYOUT: TRY TO ADD EMPTY ITEM " ) + itemname ); |
921 return false; |
921 return false; |
922 } else if ( mObjectMap.contains( itemname ) && mObjectMap[ itemname ].second == HbXml::WIDGET ) { |
922 } else if ( mObjectMap.contains( itemname ) && mObjectMap[ itemname ].mType == HbXml::WIDGET ) { |
923 item = static_cast<QGraphicsWidget *>( mObjectMap[ itemname ].first.data() ); |
923 item = static_cast<QGraphicsWidget *>( mObjectMap[ itemname ].mObject.data() ); |
924 } else { |
924 } else { |
925 HB_DOCUMENTLOADER_PRINT( QString( "LINEARLAYOUT: NO SUCH ITEM " ) + itemname ); |
925 HB_DOCUMENTLOADER_PRINT( QString( "LINEARLAYOUT: NO SUCH ITEM " ) + itemname ); |
926 return false; |
926 return false; |
927 } |
927 } |
928 |
928 |
1013 bool isWidget = false; |
1013 bool isWidget = false; |
1014 QObject *parentObj = findFromStack( &isWidget ); |
1014 QObject *parentObj = findFromStack( &isWidget ); |
1015 if( isWidget ) { |
1015 if( isWidget ) { |
1016 parent = static_cast<QGraphicsWidget *>( parentObj ); |
1016 parent = static_cast<QGraphicsWidget *>( parentObj ); |
1017 } |
1017 } |
1018 } else if ( mObjectMap.contains( widget ) && mObjectMap[ widget ].second == HbXml::WIDGET ) { |
1018 } else if ( mObjectMap.contains( widget ) && mObjectMap[ widget ].mType == HbXml::WIDGET ) { |
1019 parent = static_cast<QGraphicsWidget *>( mObjectMap[ widget ].first.data() ); |
1019 parent = static_cast<QGraphicsWidget *>( mObjectMap[ widget ].mObject.data() ); |
1020 } |
1020 } |
1021 if ( !parent ) { |
1021 if ( !parent ) { |
1022 HB_DOCUMENTLOADER_PRINT( QString( "STACKEDLAYOUT: PARENT NOT FOUND" ) ); |
1022 HB_DOCUMENTLOADER_PRINT( QString( "STACKEDLAYOUT: PARENT NOT FOUND" ) ); |
1023 return false; |
1023 return false; |
1024 } |
1024 } |
1042 } |
1042 } |
1043 |
1043 |
1044 if( itemname.isEmpty() ) { |
1044 if( itemname.isEmpty() ) { |
1045 HB_DOCUMENTLOADER_PRINT( QString( "STACKEDLAYOUT: TRY TO ADD EMPTY ITEM " ) + itemname ); |
1045 HB_DOCUMENTLOADER_PRINT( QString( "STACKEDLAYOUT: TRY TO ADD EMPTY ITEM " ) + itemname ); |
1046 return false; |
1046 return false; |
1047 } else if ( mObjectMap.contains( itemname ) && mObjectMap[ itemname ].second == HbXml::WIDGET ) { |
1047 } else if ( mObjectMap.contains( itemname ) && mObjectMap[ itemname ].mType == HbXml::WIDGET ) { |
1048 item = static_cast<QGraphicsWidget *>( mObjectMap[ itemname ].first.data() ); |
1048 item = static_cast<QGraphicsWidget *>( mObjectMap[ itemname ].mObject.data() ); |
1049 } else { |
1049 } else { |
1050 HB_DOCUMENTLOADER_PRINT( QString( "STACKEDLAYOUT: NO SUCH ITEM " ) + itemname ); |
1050 HB_DOCUMENTLOADER_PRINT( QString( "STACKEDLAYOUT: NO SUCH ITEM " ) + itemname ); |
1051 return false; |
1051 return false; |
1052 } |
1052 } |
1053 |
1053 |
1066 bool isWidget = false; |
1066 bool isWidget = false; |
1067 QObject *parentObj = findFromStack( &isWidget ); |
1067 QObject *parentObj = findFromStack( &isWidget ); |
1068 if( isWidget ) { |
1068 if( isWidget ) { |
1069 parent = static_cast<QGraphicsWidget *>( parentObj ); |
1069 parent = static_cast<QGraphicsWidget *>( parentObj ); |
1070 } |
1070 } |
1071 } else if ( mObjectMap.contains( widget ) && mObjectMap[ widget ].second == HbXml::WIDGET ) { |
1071 } else if ( mObjectMap.contains( widget ) && mObjectMap[ widget ].mType == HbXml::WIDGET ) { |
1072 parent = static_cast<QGraphicsWidget *>( mObjectMap[ widget ].first.data() ); |
1072 parent = static_cast<QGraphicsWidget *>( mObjectMap[ widget ].mObject.data() ); |
1073 } |
1073 } |
1074 if ( !parent ) { |
1074 if ( !parent ) { |
1075 HB_DOCUMENTLOADER_PRINT( QString( "NULL LAYOUT: PARENT NOT FOUND" ) ); |
1075 HB_DOCUMENTLOADER_PRINT( QString( "NULL LAYOUT: PARENT NOT FOUND" ) ); |
1076 return false; |
1076 return false; |
1077 } |
1077 } |
1085 } |
1085 } |
1086 |
1086 |
1087 bool HbDocumentLoaderActions::setWidgetRole( |
1087 bool HbDocumentLoaderActions::setWidgetRole( |
1088 QGraphicsWidget *parent, QGraphicsWidget *child, const QString &role) |
1088 QGraphicsWidget *parent, QGraphicsWidget *child, const QString &role) |
1089 { |
1089 { |
1090 return mFactory.setWidgetRole(parent, child, role); |
1090 bool roleTransfersOwnership = false; |
|
1091 |
|
1092 // updates roleTransfersOwnership only on succesfull execution |
|
1093 const bool result = mFactory.setWidgetRole(parent, child, role, roleTransfersOwnership); |
|
1094 |
|
1095 if ( roleTransfersOwnership ) { |
|
1096 // remove ownership from own data structure |
|
1097 ObjectMapItem &item = mObjectMap[child->objectName()]; |
|
1098 item.mOwned = false; |
|
1099 } |
|
1100 |
|
1101 return result; |
1091 } |
1102 } |
1092 |
1103 |
1093 bool HbDocumentLoaderActions::setObjectRole( |
1104 bool HbDocumentLoaderActions::setObjectRole( |
1094 QObject *parent, QObject *child, const QString &role) |
1105 QObject *parent, QObject *child, const QString &role) |
1095 { |
1106 { |