Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
Front-End
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abdullh.alsoleman
Front-End
Commits
95eba52e
Commit
95eba52e
authored
7 years ago
by
Ian Hickson
Committed by
GitHub
7 years ago
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Define some annotations for generating the widget catalog. (#10816)
parent
cf930390
stable
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
111 additions
and
0 deletions
+111
-0
foundation.dart
packages/flutter/lib/foundation.dart
+2
-0
annotations.dart
packages/flutter/lib/src/foundation/annotations.dart
+109
-0
No files found.
packages/flutter/lib/foundation.dart
View file @
95eba52e
...
...
@@ -21,11 +21,13 @@ export 'package:meta/meta.dart' show
// bool _first;
// bool _lights;
// bool _visible;
// class Cat { }
// double _volume;
// dynamic _calculation;
// dynamic _last;
// dynamic _selection;
export
'src/foundation/annotations.dart'
;
export
'src/foundation/assertions.dart'
;
export
'src/foundation/basic_types.dart'
;
export
'src/foundation/binding.dart'
;
...
...
This diff is collapsed.
Click to expand it.
packages/flutter/lib/src/foundation/annotations.dart
0 → 100644
View file @
95eba52e
// Copyright 2017 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.
/// A category with which to annotate a class, for documentation
/// purposes.
///
/// A category is usually represented as a section and a subsection, each
/// of which is a string. The engineering team that owns the library to which
/// the class belongs defines the categories used for classes in that library.
/// For example, the Flutter engineering team has defined categories like
/// "Basic/Buttons" and "Material Design/Buttons" for Flutter widgets.
///
/// A class can have multiple categories.
///
/// ## Sample code
///
/// ```dart
/// /// A copper coffee pot, as desired by Ben Turpin.
/// /// ...documentation...
/// @Category(const <String>['Pots', 'Coffee'])
/// @Category(const <String>['Copper', 'Cookware'])
/// @DocumentationIcon('https://example.com/images/coffee.png')
/// @Summary('A proper cup of coffee is made in a proper copper coffee pot.')
/// class CopperCoffeePot {
/// // ...code...
/// }
/// ```
///
/// See also:
///
/// * [DocumentationIcon], which is used to give the URL to an image that
/// represents the class.
/// * [Summary], which is used to provide a one-line description of a
/// class that overrides the inline documentations' own description.
class
Category
{
const
Category
(
this
.
sections
)
:
assert
(
sections
!=
null
);
/// The strings the correspond to the section and subsection of the
/// category represented by this object.
///
/// By convention, this list usually has two items. The allowed values
/// are defined by the team that owns the library to which the annotated
/// class belongs.
final
List
<
String
>
sections
;
}
/// A class annotation to provide a URL to an image that represents the class.
///
/// Each class should only have one [DocumentationIcon].
///
/// ## Sample code
///
/// ```dart
/// /// Utility class for beginning a dream-sharing sequence.
/// /// ...documentation...
/// @Category(const <String>['Military Technology', 'Experimental'])
/// @DocumentationIcon('https://docs.example.org/icons/top.png')
/// class DreamSharing {
/// // ...code...
/// }
/// ```
///
/// See also:
///
/// * [Category], to help place the class in an index.
/// * [Summary], which is used to provide a one-line description of a
/// class that overrides the inline documentations' own description.
class
DocumentationIcon
{
const
DocumentationIcon
(
this
.
url
)
:
assert
(
url
!=
null
);
/// The URL to an image that represents the annotated class.
final
String
url
;
}
/// An annotation that provides a short description of a class for use
/// in an index.
///
/// Usually the first paragraph of the documentation for a class can be used
/// for this purpose, but on occasion the first paragraph is either too short
/// or too long for use in isolation, without the remainder of the documentation.
///
/// ## Sample code
///
/// ```dart
/// /// A famous cat.
/// ///
/// /// Instances of this class can hunt small animals.
/// /// This cat has three legs.
/// @Category(const <String>['Animals', 'Cats'])
/// @Category(const <String>['Cute', 'Pets'])
/// @DocumentationIcon('https://www.examples.net/docs/images/icons/pillar.jpeg')
/// @Summary('A famous three-legged cat.')
/// class Pillar extends Cat {
/// // ...code...
/// }
/// ```
///
/// See also:
///
/// * [Category], to help place the class in an index.
/// * [DocumentationIcon], which is used to give the URL to an image that
/// represents the class.
class
Summary
{
const
Summary
(
this
.
text
)
:
assert
(
text
!=
null
);
/// The text of the summary of the annotated class.
final
String
text
;
}
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment