Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(79)

Unified Diff: components/webui_generator/generator/view_model.py

Issue 1181703008: Removed webui_generator and new OOBE UI placeholder. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removed empty line. Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/webui_generator/generator/util.py ('k') | components/webui_generator/generator/web_ui_view.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/webui_generator/generator/view_model.py
diff --git a/components/webui_generator/generator/view_model.py b/components/webui_generator/generator/view_model.py
deleted file mode 100644
index a92080722d55202796f838e1a1afe541f6226791..0000000000000000000000000000000000000000
--- a/components/webui_generator/generator/view_model.py
+++ /dev/null
@@ -1,329 +0,0 @@
-# Copyright 2015 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import os
-import datetime
-import util
-
-H_FILE_TEMPLATE = \
-"""// Copyright %(year)d The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// NOTE: this file is generated from "%(source)s". Do not modify directly.
-
-#ifndef %(include_guard)s
-#define %(include_guard)s
-
-#include "base/macros.h"
-#include "components/webui_generator/view_model.h"
-#include "%(export_h_include_path)s"
-
-namespace content {
-class BrowserContext;
-}
-
-%(children_forward_declarations)s
-
-namespace gen {
-
-class %(export_macro)s %(class_name)s : public ::webui_generator::ViewModel {
- public:
- using FactoryFunction = %(class_name)s* (*)(content::BrowserContext*);
-
-%(context_keys)s
-
- static %(class_name)s* Create(content::BrowserContext* context);
- static void SetFactory(FactoryFunction factory);
-
- %(class_name)s();
-
-%(children_getters)s
-
-%(context_getters)s
-
-%(event_handlers)s
-
- void Initialize() override {}
- void OnAfterChildrenReady() override {}
- void OnViewBound() override {}
-
- private:
- void OnEvent(const std::string& event) final;
-
- static FactoryFunction factory_function_;
-};
-
-} // namespace gen
-
-#endif // %(include_guard)s
-"""
-
-CHILD_FORWARD_DECLARATION_TEMPLATE = \
-"""namespace gen {
- class %(child_type)s;
-}
-"""
-CONTEXT_KEY_DECLARATION_TEMPLATE = \
-""" static const char %s[];"""
-
-CHILD_GETTER_DECLARATION_TEMPLATE = \
-""" virtual gen::%(child_type)s* %(method_name)s() const;""";
-
-CONTEXT_VALUE_GETTER_DECLARATION_TEMPLATE = \
-""" %(type)s %(method_name)s() const;"""
-
-EVENT_HANDLER_DECLARATION_TEMPLATE = \
-""" virtual void %s() = 0;"""
-
-CC_FILE_TEMPLATE = \
-"""// Copyright %(year)d The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// NOTE: this file is generated from "%(source)s". Do not modify directly.
-
-#include "%(header_path)s"
-
-#include "base/logging.h"
-#include "components/webui_generator/view.h"
-%(children_includes)s
-
-namespace gen {
-
-%(context_keys)s
-
-%(class_name)s::FactoryFunction %(class_name)s::factory_function_;
-
-%(class_name)s* %(class_name)s::Create(content::BrowserContext* context) {
- CHECK(factory_function_) << "Factory function for %(class_name)s was not "
- "set.";
- return factory_function_(context);
-}
-
-void %(class_name)s::SetFactory(FactoryFunction factory) {
- factory_function_ = factory;
-}
-
-%(class_name)s::%(class_name)s() {
-%(constructor_body)s
-}
-
-%(children_getters)s
-
-%(context_getters)s
-
-void %(class_name)s::OnEvent(const std::string& event) {
-%(event_dispatcher_body)s
- LOG(ERROR) << "Unknown event '" << event << "'";
-}
-
-} // namespace gen
-"""
-
-CONTEXT_KEY_DEFINITION_TEMPLATE = \
-"""const char %(class_name)s::%(name)s[] = "%(value)s";"""
-
-CHILD_GETTER_DEFINITION_TEMPLATE = \
-"""gen::%(child_type)s* %(class_name)s::%(method_name)s() const {
- return static_cast<gen::%(child_type)s*>(
- view()->GetChild("%(child_id)s")->GetViewModel());
-}
-"""
-
-CONTEXT_VALUE_GETTER_DEFINITION_TEMPLATE = \
-"""%(type)s %(class_name)s::%(method_name)s() const {
- return context().%(context_getter)s(%(key_constant)s);
-}
-"""
-
-FIELD_TYPE_TO_GETTER_TYPE = {
- 'boolean': 'bool',
- 'integer': 'int',
- 'double': 'double',
- 'string': 'std::string',
- 'string_list': 'login::StringList'
-}
-
-DISPATCH_EVENT_TEMPLATE = \
-""" if (event == "%(event_id)s") {
- %(method_name)s();
- return;
- }"""
-
-def GetCommonSubistitutions(declaration):
- subs = {}
- subs['year'] = datetime.date.today().year
- subs['class_name'] = declaration.view_model_class
- subs['source'] = declaration.path
- return subs
-
-def FieldNameToConstantName(field_name):
- return 'kContextKey' + util.ToUpperCamelCase(field_name)
-
-def GenContextKeysDeclarations(fields):
- return '\n'.join(
- (CONTEXT_KEY_DECLARATION_TEMPLATE % \
- FieldNameToConstantName(f.name) for f in fields))
-
-def GenChildrenForwardDeclarations(children):
- lines = []
- for declaration in set(children.itervalues()):
- lines.append(CHILD_FORWARD_DECLARATION_TEMPLATE % {
- 'child_type': declaration.view_model_class
- })
- return '\n'.join(lines)
-
-def ChildIdToChildGetterName(id):
- return 'Get%s' % util.ToUpperCamelCase(id)
-
-def GenChildrenGettersDeclarations(children):
- lines = []
- for id, declaration in children.iteritems():
- lines.append(CHILD_GETTER_DECLARATION_TEMPLATE % {
- 'child_type': declaration.view_model_class,
- 'method_name': ChildIdToChildGetterName(id)
- })
- return '\n'.join(lines)
-
-def FieldNameToGetterName(field_name):
- return 'Get%s' % util.ToUpperCamelCase(field_name)
-
-def GenContextGettersDeclarations(context_fields):
- lines = []
- for field in context_fields:
- lines.append(CONTEXT_VALUE_GETTER_DECLARATION_TEMPLATE % {
- 'type': FIELD_TYPE_TO_GETTER_TYPE[field.type],
- 'method_name': FieldNameToGetterName(field.name)
- })
- return '\n'.join(lines)
-
-def EventIdToMethodName(event):
- return 'On' + util.ToUpperCamelCase(event)
-
-def GenEventHandlersDeclarations(events):
- lines = []
- for event in events:
- lines.append(EVENT_HANDLER_DECLARATION_TEMPLATE %
- EventIdToMethodName(event))
- return '\n'.join(lines)
-
-def GenHFile(declaration):
- subs = GetCommonSubistitutions(declaration)
- subs['include_guard'] = \
- util.PathToIncludeGuard(declaration.view_model_include_path)
- subs['context_keys'] = GenContextKeysDeclarations(declaration.fields)
- subs['children_forward_declarations'] = \
- GenChildrenForwardDeclarations(declaration.children)
- subs['children_getters'] = \
- GenChildrenGettersDeclarations(declaration.children);
- subs['context_getters'] = \
- GenContextGettersDeclarations(declaration.fields);
- subs['event_handlers'] = GenEventHandlersDeclarations(declaration.events)
- subs['export_h_include_path'] = declaration.export_h_include_path
- subs['export_macro'] = declaration.component_export_macro
- return H_FILE_TEMPLATE % subs
-
-def GenContextKeysDefinitions(declaration):
- lines = []
- for field in declaration.fields:
- definition = CONTEXT_KEY_DEFINITION_TEMPLATE % {
- 'class_name': declaration.view_model_class,
- 'name': FieldNameToConstantName(field.name),
- 'value': field.id
- }
- lines.append(definition)
- return '\n'.join(lines)
-
-def GenChildrenIncludes(children):
- lines = []
- for declaration in set(children.itervalues()):
- lines.append('#include "%s"' % declaration.view_model_include_path)
- return '\n'.join(lines)
-
-def GenContextFieldInitialization(field):
- lines = []
- key_constant = FieldNameToConstantName(field.name)
- setter_method = 'Set' + util.ToUpperCamelCase(field.type)
- if field.type == 'string_list':
- lines.append(' {')
- lines.append(' std::vector<std::string> defaults;')
- for s in field.default_value:
- lines.append(' defaults.push_back("%s");' % s)
- lines.append(' context().%s(%s, defaults);' %
- (setter_method, key_constant))
- lines.append(' }')
- else:
- setter = ' context().%s(%s, ' % (setter_method, key_constant)
- if field.type in ['integer', 'double']:
- setter += str(field.default_value)
- elif field.type == 'boolean':
- setter += 'true' if field.default_value else 'false'
- else:
- assert field.type == 'string'
- setter += '"%s"' % field.default_value
- setter += ");"
- lines.append(setter)
- return '\n'.join(lines)
-
-def GenChildrenGettersDefenitions(declaration):
- lines = []
- for id, child in declaration.children.iteritems():
- lines.append(CHILD_GETTER_DEFINITION_TEMPLATE % {
- 'child_type': child.view_model_class,
- 'class_name': declaration.view_model_class,
- 'method_name': ChildIdToChildGetterName(id),
- 'child_id': id
- });
- return '\n'.join(lines)
-
-def GenContextGettersDefinitions(declaration):
- lines = []
- for field in declaration.fields:
- lines.append(CONTEXT_VALUE_GETTER_DEFINITION_TEMPLATE % {
- 'type': FIELD_TYPE_TO_GETTER_TYPE[field.type],
- 'class_name': declaration.view_model_class,
- 'method_name': FieldNameToGetterName(field.name),
- 'context_getter': 'Get' + util.ToUpperCamelCase(
- field.type),
- 'key_constant': FieldNameToConstantName(field.name)
- });
- return '\n'.join(lines)
-
-def GenEventDispatcherBody(events):
- lines = []
- for event in events:
- lines.append(DISPATCH_EVENT_TEMPLATE % {
- 'event_id': util.ToLowerCamelCase(event),
- 'method_name': EventIdToMethodName(event)
- });
- return '\n'.join(lines)
-
-def GenCCFile(declaration):
- subs = GetCommonSubistitutions(declaration)
- subs['header_path'] = declaration.view_model_include_path
- subs['context_keys'] = GenContextKeysDefinitions(declaration)
- subs['children_includes'] = GenChildrenIncludes(declaration.children)
- initializations = [GenContextFieldInitialization(field) \
- for field in declaration.fields]
- initializations.append(' base::DictionaryValue diff;');
- initializations.append(' context().GetChangesAndReset(&diff);');
- subs['constructor_body'] = '\n'.join(initializations)
- subs['children_getters'] = GenChildrenGettersDefenitions(declaration)
- subs['context_getters'] = GenContextGettersDefinitions(declaration)
- subs['event_dispatcher_body'] = GenEventDispatcherBody(declaration.events)
- return CC_FILE_TEMPLATE % subs
-
-def ListOutputs(declaration, destination):
- dirname = os.path.join(destination, os.path.dirname(declaration.path))
- h_file_path = os.path.join(dirname, declaration.view_model_h_name)
- cc_file_path = os.path.join(dirname, declaration.view_model_cc_name)
- return [h_file_path, cc_file_path]
-
-def Gen(declaration, destination):
- h_file_path, cc_file_path = ListOutputs(declaration, destination)
- util.CreateDirIfNotExists(os.path.dirname(h_file_path))
- open(h_file_path, 'w').write(GenHFile(declaration))
- open(cc_file_path, 'w').write(GenCCFile(declaration))
-
« no previous file with comments | « components/webui_generator/generator/util.py ('k') | components/webui_generator/generator/web_ui_view.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698