Example #1
0
 def attributes(cls):
     ''' 표 12 바이너리 데이터 '''
     yield cls.Flags, 'flags'
     yield (SelectiveType(ref_member_flag('flags', 'storage'),
                          {cls.StorageType.LINK: BinDataLink,
                           cls.StorageType.EMBEDDING: BinDataEmbedding,
                           cls.StorageType.STORAGE: BinDataStorage}),
            'bindata')
Example #2
0
    def attributes(cls):
        yield cls.Flags, 'flags'
        yield HWPUNIT16, 'spacing'

        def not_same_widths(context, values):
            ''' flags.same_widths == 0 '''
            return not values['flags'].same_widths

        def n_entries(member_ref):
            def n_entries(context, values):
                n_columns = member_ref(context, values)
                return n_columns - 1

            return n_entries

        yield dict(name='column0', type=Column0, condition=not_same_widths)
        yield dict(name='columns',
                   type=X_ARRAY(Column,
                                n_entries(ref_member_flag('flags', 'count'))),
                   condition=not_same_widths)
        yield UINT16, 'attr2'
        yield Border, 'splitter'
Example #3
0
    def attributes(cls):
        yield cls.Flags, 'flags'
        yield HWPUNIT16, 'spacing'

        def not_same_widths(context, values):
            ''' flags.same_widths == 0 '''
            return not values['flags'].same_widths

        def n_entries(member_ref):
            def n_entries(context, values):
                n_columns = member_ref(context, values)
                return n_columns - 1
            return n_entries

        yield dict(name='column0', type=Column0,
                   condition=not_same_widths)
        yield dict(name='columns',
                   type=X_ARRAY(Column,
                                n_entries(ref_member_flag('flags', 'count'))),
                   condition=not_same_widths)
        yield UINT16, 'attr2'
        yield Border, 'splitter'