# GTK MVC 1.99 Library Reference

- Model Classes
  - Persistence
  - Specific widgets
  - Threading
- The View
- The Controller
- Adapters
  - Overwriting properties
  - Mutating properties
  - Modifying immutable properties
  - Single Adapter, multiple widgets
  - Connecting automatically
- Observable Properties
  - Observing your own classes
  - Signals
  - Wrapping values
- Observers
- Little Helpers
  - The `log` Module
  - The `utils` Module
- Internals
  - The `metaclasses` Module
  - The `decorators` Module

# Installation

Please refer to the User Manual for any detail.

# The `gtkmvc` Module

Shortcuts are provided to the following classes defined in submodules:

class `gtkmvc.``Model`

class `gtkmvc.``TreeStoreModel`

class `gtkmvc.``ListStoreModel`

class `gtkmvc.``TextBufferModel`

class `gtkmvc.``ModelMT`

class `gtkmvc.``Controller`

class `gtkmvc.``View`

class `gtkmvc.``Observer`

class `gtkmvc.``Observable`

The following two functions are not exported by default, you have to prefix identifiers with the module name:

`gtkmvc.``get_version`()

  Return the imported version of this framework as a tuple of integers.

`gtkmvc.``require`(version)

  Raise `AssertionError` if gtkmvc version is not compatible.

  request a dotted string or iterable of string or integers representing the minimum version you need.

      require("1.0")
      require(("1", "2", "2"))
      require([1,99,0])

  Note

  For historical reasons this does not take all API changes into account. Some are caught by the argument checks in View and Controller constructors.