File tree Expand file tree Collapse file tree 4 files changed +9
-5
lines changed
python/core/auto_additions Expand file tree Collapse file tree 4 files changed +9
-5
lines changed Original file line number Diff line number Diff line change 11# The following has been generated automatically from src/core/qgsmaplayer.h
2+ QgsMapLayer .LayerType = QgsMapLayerType
23# monkey patching scoped based enum
34QgsMapLayer .VectorLayer = QgsMapLayerType .VectorLayer
45QgsMapLayer .VectorLayer .__doc__ = ""
Original file line number Diff line number Diff line change @@ -959,12 +959,15 @@ sub detect_non_method_member{
959959 my $is_scope_based = " 0" ;
960960 $is_scope_based = " 1" if defined $2 ;
961961 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 * \) )?/ ;
963963 my $enum_mk_base = " " ;
964964 $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+ }
965968 if ($LINE =~ m /\{ ((\s *\w +)(\s *=\s *[\w\s\d <|]+.*?)?(,?))+\s *\} / ){
966969 # 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 ." );
968971 next ;
969972 }
970973 else
@@ -984,7 +987,7 @@ sub detect_non_method_member{
984987
985988 do {no warnings ' uninitialized' ;
986989 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 };
988991 my $comment = $+ {co };
989992 dbg_info(" is_scope_based:$is_scope_based enum_mk_base:$enum_mk_base monkeypatch:$monkeypatch " );
990993 if ($is_scope_based eq " 1" ) {
Original file line number Diff line number Diff line change 242242 * These macros should be removed in QGIS 4
243243 */
244244#define SIP_MONKEYPATCH_SCOPEENUM
245- #define SIP_MONKEYPATCH_SCOPEENUM_UNNEST (OUTSIDE_CLASS )
245+ #define SIP_MONKEYPATCH_SCOPEENUM_UNNEST (OUTSIDE_CLASS , FORMERNAME )
246246
247247
248248#endif // QGIS_SIP_H
Original file line number Diff line number Diff line change @@ -58,7 +58,7 @@ class QPainter;
5858
5959
6060// ! 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
6262 {
6363 VectorLayer,
6464 RasterLayer,
You can’t perform that action at this time.
0 commit comments