03806d0b67
This commit implements described in the #104573. The goal is to fix the confusion of the submodule hashes change, which are not ideal for any of the supported git-module configuration (they are either always visible causing confusion, or silently staged and committed, also causing confusion). This commit replaces submodules with a checkout of addons and addons_contrib, covered by the .gitignore, and locale and developer tools are moved to the main repository. This also changes the paths: - /release/scripts are moved to the /scripts - /source/tools are moved to the /tools - /release/datafiles/locale is moved to /locale This is done to avoid conflicts when using bisect, and also allow buildbot to automatically "recover" wgen building older or newer branches/patches. Running `make update` will initialize the local checkout to the changed repository configuration. Another aspect of the change is that the make update will support Github style of remote organization (origin remote pointing to thy fork, upstream remote pointing to the upstream blender/blender.git). Pull Request #104755
48 lines
2.1 KiB
Python
48 lines
2.1 KiB
Python
import bpy
|
|
|
|
|
|
class MESH_UL_mylist(bpy.types.UIList):
|
|
# Constants (flags)
|
|
# Be careful not to shadow FILTER_ITEM (i.e. UIList().bitflag_filter_item)!
|
|
# E.g. VGROUP_EMPTY = 1 << 0
|
|
|
|
# Custom properties, saved with .blend file. E.g.
|
|
# use_filter_empty: bpy.props.BoolProperty(
|
|
# name="Filter Empty", default=False, options=set(),
|
|
# description="Whether to filter empty vertex groups",
|
|
# )
|
|
|
|
# Called for each drawn item.
|
|
def draw_item(self, context, layout, data, item, icon, active_data, active_propname, index, flt_flag):
|
|
# 'DEFAULT' and 'COMPACT' layout types should usually use the same draw code.
|
|
if self.layout_type in {'DEFAULT', 'COMPACT'}:
|
|
pass
|
|
# 'GRID' layout type should be as compact as possible (typically a single icon!).
|
|
elif self.layout_type == 'GRID':
|
|
pass
|
|
|
|
# Called once to draw filtering/reordering options.
|
|
def draw_filter(self, context, layout):
|
|
# Nothing much to say here, it's usual UI code...
|
|
pass
|
|
|
|
# Called once to filter/reorder items.
|
|
def filter_items(self, context, data, propname):
|
|
# This function gets the collection property (as the usual tuple (data, propname)), and must return two lists:
|
|
# * The first one is for filtering, it must contain 32bit integers were self.bitflag_filter_item marks the
|
|
# matching item as filtered (i.e. to be shown), and 31 other bits are free for custom needs. Here we use the
|
|
# first one to mark VGROUP_EMPTY.
|
|
# * The second one is for reordering, it must return a list containing the new indices of the items (which
|
|
# gives us a mapping org_idx -> new_idx).
|
|
# Please note that the default UI_UL_list defines helper functions for common tasks (see its doc for more info).
|
|
# If you do not make filtering and/or ordering, return empty list(s) (this will be more efficient than
|
|
# returning full lists doing nothing!).
|
|
|
|
# Default return values.
|
|
flt_flags = []
|
|
flt_neworder = []
|
|
|
|
# Do filtering/reordering here...
|
|
|
|
return flt_flags, flt_neworder
|