This provides utility methods for working with bidirectional text. All
of the methods are static, and are organized into a class primarily to
group them together for documentation and discoverability.
Bidi stands for Bi-directional text. According to
Wikipedia:
Bi-directional text is text containing text in both text directionalities,
both right-to-left (RTL) and left-to-right (LTR). It generally involves text
containing different types of alphabets, but may also refer to
boustrophedon, which is changing text directionality in each row.
Bindings should be extended or implemented.
When using GetMaterialApp, all GetPages and navigation
methods (like Get.to()) have a binding property that takes an
instance of Bindings to manage the
dependencies() (via Get.put()) for the Route you are opening.
Extend this widget to build responsive view.
this widget contains the screen property that have all
information about the screen size and type.
You have two options to build it.
1- with builder method you return the widget to build.
2- with methods desktop, tablet,phone, watch. the specific
method will be built when the screen type matches the method
when the screen is ScreenType.Tablet the tablet method
will be exuded and so on.
Note if you use this method please set the
property alwaysUseBuilder to false
With settings property you can set the width limit for the screen types.
GetStream is the lightest and most performative way of working
with events at Dart. You sintaxe is like StreamController, but it works
with simple callbacks. In this way, every event calls only one function.
There is no buffering, to very low memory consumption.
event add will add a object to stream. addError will add a error
to stream. listen is a very light StreamSubscription interface.
Is possible take the last value with value property.
GetWidget is a great way of quickly access your individual Controller
without having to call Get.find<AwesomeController>() yourself.
Get save you controller on cache, so, you can to use Get.create() safely
GetWidget is perfect to multiples instance of a same controller. Each
GetWidget will have your own controller, and will be call events as onInit
and onClose when the controller get in/get out on memory.
Unlike GetxController, which serves to control events on each of its pages,
GetxService is not automatically disposed (nor can be removed with
Get.delete()).
It is ideal for situations where, once started, that service will
remain in memory, such as Auth control for example. Only way to remove
it is Get.reset().
Special callable class to keep the contract of a regular method, and avoid
overrides if you extend the class that uses it, as Dart has no final
methods.
Used in DisposableInterface to avoid the danger of overriding onStart.
The Intl class provides a common entry point for internationalization
related tasks. An Intl instance can be created for a particular locale
and used to create a date format via anIntl.date(). Static methods
on this class are also used in message formatting.
McButton is a customizable button widget that extends McText.
It supports adding an icon, custom border and background colors,
padding, and tap actions, and can adjust its width based on the screen size.
McCardItem is a customizable card widget that can contain a child widget and supports various styling options.
It allows for customization of width, height, border color, shadow visibility, padding, margin, and border radius.
McDropDownBtn is a customizable dropdown button widget that supports both searchable and non-searchable dropdowns.
It allows for customization of the dropdown's appearance, including color, border radius, and padding,
and supports callbacks for item selection changes.
McIconTxt is a widget that combines an icon with an optional text label.
It supports customization of the icon's appearance, background color, and text style,
and provides an onPress callback for user interaction.
McImageAssets is a widget for displaying images from assets.
It includes error handling for when the image fails to load
and supports circular or rectangular image shapes.
McImageFile is a widget for displaying images from local file paths.
It includes error handling for when the image fails to load
and supports circular or rectangular image shapes.
McImageNetWork is a widget for displaying images from network URLs.
It includes placeholders while loading, and error handling for when the image fails to load.
Supports circular or rectangular image shapes and customizable dimensions.
McListButtons is a widget that displays a list of buttons, where each button represents an item in the list.
It supports customization of button appearance, including colors, font size, and padding, and allows for horizontal or vertical scrolling.
McPopUpMenChat is a customizable popup menu button widget that displays a list of menu items.
It allows for various styling options, such as shape, color, and animation style, and supports
custom icons, padding, and behavior configurations.
McStepLine is a widget that displays a progress indicator with steps and a title.
It allows customization of the step count, current step, title, line color, font size, and font color.
McText is a customizable text widget that allows for various text styling
options, including font size, color, boldness, line limit, and text alignment.
It also includes an option to show only the first 5 words of the text.
Similar to Obx, but manages a local state.
Pass the initial data in constructor.
Useful for simple local states, like toggles, visibility, themes,
button states, etc.
Sample:
ObxValue((data) => Switch(
value: data.value,
onChanged: (flag) => data.value = flag,
),
false.obs,
),
Foundation class used for custom Types outside the common native Dart
types.
For example, any custom "Model" class, like User().obs will use Rx as
wrapper.
This class is the foundation for all reactive (Rx) classes that makes Get
so powerful.
This interface is the contract that _RxImpl]<T> uses in all it's
subclass.
GetX by default disposes unused controllers from memory,
Through different behaviors.
SmartManagement.full
SmartManagement.full is the default one. Dispose classes that are
not being used and were not set to be permanent. In the majority
of the cases you will want to keep this config untouched.
If you new to GetX then don't change this.
SmartManagement.onlyBuilder only controllers started in init:
or loaded into a Binding with Get.lazyPut() will be disposed. If you use
Get.put() or Get.putAsync() or any other approach, SmartManagement
will not have permissions to exclude this dependency. With the default
behavior, even widgets instantiated with "Get.put" will be removed,
unlike SmartManagement.onlyBuilders.
SmartManagement.keepFactoryJust like SmartManagement.full,
it will remove it's dependencies when it's not being used anymore.
However, it will keep their factory, which means it will recreate
the dependency if you need that instance again.
debounce is similar to interval, but sends the last value.
Useful for Anti DDos, every time the user stops typing for 1 second,
for instance.
When listener emits the last "value", when time hits,
it calls callback with the last "value" emitted.
Similar to ever, but takes a list of listeners, the condition
for the callback is common to all listeners,
and the callback is executed to each one of them. The Worker is
common to all, so worker.dispose() will cancel all streams.
Ignore all changes in listener during time (1 sec by default) or until
condition is met (can be a bool expression or a bool Function()),
It brings the 1st "value" since the period of time, so
if you click a counter button 3 times in 1 sec, it will show you "1"
(after 1 sec of the first press)
click counter 3 times in 1 sec, it will show you "4" (after 1 sec)
click counter 2 times in 1 sec, it will show you "7" (after 1 sec).
once() will execute only 1 time when condition is met and cancel
the subscription to the listener stream right after that.
condition defines when callback is called, and
can be a bool or a bool Function().
Builder function to create a progress indicator widget. The function is
called every time a chuck of the image is downloaded from the web, but at
least once during image loading.