summaryrefslogtreecommitdiff
path: root/DevTools/VisualBuilder/VBWidgetRegistry.h
blob: bd08a1d57490522f353f7c4bddeadffed0e63873 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#pragma once

#include "VBWidgetType.h"
#include <AK/AKString.h>
#include <AK/HashMap.h>
#include <AK/OwnPtr.h>

class GWidget;
class VBProperty;
class VBWidget;

class VBWidgetRegistry {
public:
    template<typename Callback>
    static void for_each_widget_type(Callback callback)
    {
        for (unsigned i = 1; i < (unsigned)VBWidgetType::__Count; ++i)
            callback((VBWidgetType)i);
    }

    static GWidget* build_gwidget(VBWidget&, VBWidgetType, GWidget* parent, Vector<OwnPtr<VBProperty>>&);
};