File tree 4 files changed +9
-5
lines changed
python/core/auto_additions
4 files changed +9
-5
lines changed Original file line number Diff line number Diff line change 1
1
# The following has been generated automatically from src/core/qgsmaplayer.h
2
+ QgsMapLayer .LayerType = QgsMapLayerType
2
3
# monkey patching scoped based enum
3
4
QgsMapLayer .VectorLayer = QgsMapLayerType .VectorLayer
4
5
QgsMapLayer .VectorLayer .__doc__ = ""
Original file line number Diff line number Diff line change @@ -959,12 +959,15 @@ sub detect_non_method_member{
959
959
my $is_scope_based = " 0" ;
960
960
$is_scope_based = " 1" if defined $2 ;
961
961
my $monkeypatch = " 0" ;
962
- $monkeypatch = " 1" if defined $is_scope_based eq " 1" and $LINE =~ m / SIP_MONKEYPATCH_SCOPEENUM(_UNNEST)?(:?\(\s *(?<emkb>\w +)\s *\) )?/ ;
962
+ $monkeypatch = " 1" if defined $is_scope_based eq " 1" and $LINE =~ m / SIP_MONKEYPATCH_SCOPEENUM(_UNNEST)?(:?\(\s *(?<emkb>\w +)\s *, \s *(?<emkf> \w +) \s * \) )?/ ;
963
963
my $enum_mk_base = " " ;
964
964
$enum_mk_base = $+ {emkb } if defined $+ {emkb };
965
+ if (defined $+ {emkf } and $monkeypatch eq " 1" ){
966
+ push @OUTPUT_PYTHON , " $enum_mk_base .$+ {emkf} = $enum_qualname \n " ;
967
+ }
965
968
if ($LINE =~ m /\{ ((\s *\w +)(\s *=\s *[\w\s\d <|]+.*?)?(,?))+\s *\} / ){
966
969
# one line declaration
967
- $LINE !~ m / =/ or exit_with_error(" spify.pl does not handle enum one liners with value assignment. Use multiple lines instead." );
970
+ $LINE !~ m / =/ or exit_with_error(" Sipify does not handle enum one liners with value assignment. Use multiple lines instead. Or jusr write a new parser ." );
968
971
next ;
969
972
}
970
973
else
@@ -984,7 +987,7 @@ sub detect_non_method_member{
984
987
985
988
do {no warnings ' uninitialized' ;
986
989
my $enum_decl = $LINE =~ s / ^(\s *(?<em>\w +))(\s +SIP_\w +(?:\( [^()]+\) )?)?(?:\s *=\s *(?:[\w\s\d |+-]|::|<<)+)?(,?)(:?\s *\/\/ !<\s *(?<co>.*)|.*)$/ $1$3$4 / r ;
987
- my $enum_member = $+ {em };
990
+ my $enum_member = $+ {em };
988
991
my $comment = $+ {co };
989
992
dbg_info(" is_scope_based:$is_scope_based enum_mk_base:$enum_mk_base monkeypatch:$monkeypatch " );
990
993
if ($is_scope_based eq " 1" ) {
Original file line number Diff line number Diff line change 242
242
* These macros should be removed in QGIS 4
243
243
*/
244
244
#define SIP_MONKEYPATCH_SCOPEENUM
245
- #define SIP_MONKEYPATCH_SCOPEENUM_UNNEST (OUTSIDE_CLASS )
245
+ #define SIP_MONKEYPATCH_SCOPEENUM_UNNEST (OUTSIDE_CLASS , FORMERNAME )
246
246
247
247
248
248
#endif // QGIS_SIP_H
Original file line number Diff line number Diff line change @@ -58,7 +58,7 @@ class QPainter;
58
58
59
59
60
60
// ! Types of layers that can be added to a map
61
- enum class QgsMapLayerType SIP_MONKEYPATCH_SCOPEENUM_UNNEST ( QgsMapLayer ) : int
61
+ enum class QgsMapLayerType SIP_MONKEYPATCH_SCOPEENUM_UNNEST ( QgsMapLayer, LayerType ) : int
62
62
{
63
63
VectorLayer,
64
64
RasterLayer,
You can’t perform that action at this time.
0 commit comments