Skip to content
This repository was archived by the owner on Nov 24, 2022. It is now read-only.

Libraries

José Pereira edited this page Sep 30, 2018 · 8 revisions

Libraries

Includes base classes for views and view models, and some features and accelerators for more common usage in apps.

Portable

  • Attributes
    • DependsOnAttribute.cs: Allows the configuration of properties and/or methods to react on PropertyChangeEvent of a specific property
    • PropagateCollectionChangeAttribute.cs: Allows to configure a property (of type ObservableCollection) to fire the PropertyChangeEvent when a its CollectionChangedEvent occurs
    • SingletonViewModelAttribute.cs: Used with the SingletonViewModelLocator, enables to mark a viewmodel to be registered as singleton
    • StringValueAttribute.cs: Simple attribute class for storing string Values
  • Extensions Set of methods to accelerate the usage of common functionalities
  • Models
    • Color.cs: Predefined colors
    • DependencyInfo.cs: Representation of an dependency injected by the use of the DependsOnAttribute
    • LocalizableModel.cs: Wrapper for the Model with support for localized text resources
    • LongRunnigNotificationSaveBundle.cs: Bundle used to persist long running subscriptions
    • LongRunningSubscriptionToken.cs: Subscription token for long running subscriptions (longer lifecycle)
    • Model.cs: Wrapper for the MvxNotifyPropertyChanged with the implementation of IDisposable
    • TupleKeyValue.cs: Wrapper of the Tupple class, configured to have a key and a value
  • Services
    • LanguageBinder Provides a override for the MvxLanguageBinder
  • Statics
    • NavigationModes.cs: Identifiers used for the navigation extensions that provide ClearStack and RemoveSelf
  • ViewModels
    • SingletonViewModelLocator.cs: Implementation of the viewmodel locator that supports the usage of the SingletonViewModelAttribute
    • ViewModel.cs: Base class to be inherited by viewmodels. It contains several base implementations that allow to normalize behaviour across the app. It handles propertychanged notifications propagation (see: PropertyChanged Event Propagation). It provides notification subscription and managment and also gives access to resource localization.
  • Application.cs: Inherits from MvxApplication and configures the app to use the SingletonViewModelLocator

Droid

  • Components: Base folder where custom Bindings, Tagrets and Controls can be found
    • Binding: Binding registration related classes
    • Controls: Home of custom controls
      • DecimalEditText: Control that handles decimal values
      • NumericEditText: Control that handles integer values
    • Targets: Several targets for base and custom controls
  • Extensions
    • WeakSubscriptionExtensions.cs: Enables weak subscriptions of events. Will be improved by new event subscriptions that are identified as useful to have here.
  • Presenters
    • AndroidViewPresenter.cs: Inherits from MvxAndroidPresenter and provides the implementation for the ClearStack and RemoveSelf navigation modes. Used by default in the AndroidSetup.cs
  • Resources: Contains several resources used in the controls
  • Setup
    • AndroidSetup.cs: Inherits from MvxAndroidSetup, and it registers the custom targets and controls
  • Support
    • V7
      • Presenters
        • AndroidAppCompatViewPresenter.cs: Inherits from MvxAppCompatViewPresenter and provides the implementation for the ClearStack and RemoveSelf navigation modes. Used by default in the AndroidAppCompatSetup.cs
      • Setup
        • AndroidAppCompatSetup.cs: Inherits from MvxAppCompatSetup, and registers the custom targets and controls
      • Views
        • AppCompatActivityBase.cs: Inherits from AppCompatActivityBase and provides out of the box behaviour control implementation for the common funcionalities provided in the viewmodel base class, including handling of generic message subscription, and also promp messages. It also provides notification managment and context options management.
      • AppCompatApplication.cs: Inherits from AppCompatApplication and enbales the usage of an AndroidAppCompatSetup
  • Views
    • ActivityBase.cs: Inherits from MvxApplication and provides out of the box behaviour control implementation for the common funcionalities provided in the viewmodel base class, including handling of generic message subscription, and also promp messages. It also provides notification managment and context options management.
    • DialogCancelListener.cs: Cancel listener used in the prompt dialogs

Clone this wiki locally