__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
// SPDX-License-Identifier: MIT OR LGPL-2.0-or-later // SPDX-FileCopyrightText: 2020 Andy Holmes <[email protected]> import GObject from 'gi://GObject'; import Gio from 'gi://Gio'; /** * An example of implementing the GListModel interface in GJS. The only real * requirement here is that the class be derived from some GObject. */ export let GjsListStore = GObject.registerClass({ GTypeName: 'GjsListStore', Implements: [Gio.ListModel], }, class MyList extends GObject.Object { constructor() { super(); /* We'll use a native Array as internal storage for the list model */ this._items = []; } /* Implementing this function amounts to returning a GType. This could be a * more specific GType, but must be a subclass of GObject. */ vfunc_get_item_type() { return GObject.Object.$gtype; } /* Implementing this function just requires returning the GObject at * @position or %null if out-of-range. This must explicitly return %null, * not `undefined`. */ vfunc_get_item(position) { return this._items[position] || null; } /* Implementing this function is as simple as return the length of the * storage object, in this case an Array. */ vfunc_get_n_items() { return this._items.length; } /** * Insert an item in the list. If @position is greater than the number of * items in the list or less than `0` it will be appended to the end of the * list. * * @param {GObject.Object} item - the item to add * @param {number} position - the position to add the item */ insertItem(item, position) { if (!(item instanceof GObject.Object)) throw new TypeError('not a GObject'); if (position < 0 || position > this._items.length) position = this._items.length; this._items.splice(position, 0, item); this.items_changed(position, 0, 1); } /** * Append an item to the list. * * @param {GObject.Object} item - the item to add */ appendItem(item) { if (!(item instanceof GObject.Object)) throw new TypeError('not a GObject'); let position = this._items.length; this._items.push(item); this.items_changed(position, 0, 1); } /** * Prepend an item to the list. * * @param {GObject.Object} item - the item to add */ prependItem(item) { if (!(item instanceof GObject.Object)) throw new TypeError('not a GObject'); this._items.unshift(item); this.items_changed(0, 0, 1); } /** * Remove @item from the list. If @item is not in the list, this function * does nothing. * * @param {GObject.Object} item - the item to remove */ removeItem(item) { if (!(item instanceof GObject.Object)) throw new TypeError('not a GObject'); let position = this._items.indexOf(item); if (position === -1) return; this._items.splice(position, 1); this.items_changed(position, 1, 0); } /** * Remove the item at @position. If @position is outside the length of the * list, this function does nothing. * * @param {number} position - the position of the item to remove */ removePosition(position) { if (position < 0 || position >= this._items.length) return; this._items.splice(position, 1); this.items_changed(position, 1, 0); } /** * Clear the list of all items. */ clear() { let length = this._items.length; if (length === 0) return; this._items = []; this.items_changed(0, length, 0); } });
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| README | File | 80 B | 0644 |
|
| calc.js | File | 3.55 KB | 0644 |
|
| dbus-client.js | File | 4.72 KB | 0644 |
|
| dbus-service.js | File | 3.42 KB | 0644 |
|
| gettext.js | File | 751 B | 0644 |
|
| gio-cat.js | File | 731 B | 0644 |
|
| glistmodel.js | File | 3.69 KB | 0644 |
|
| gtk-application.js | File | 3.64 KB | 0644 |
|
| gtk3-template.js | File | 1.57 KB | 0644 |
|
| gtk3-template.ui | File | 1.61 KB | 0644 |
|
| gtk3.js | File | 2.51 KB | 0644 |
|
| gtk4-frame-clock.js | File | 2.63 KB | 0644 |
|
| gtk4-template.js | File | 1.64 KB | 0644 |
|
| gtk4-template.ui | File | 1.61 KB | 0644 |
|
| gtk4.js | File | 1.87 KB | 0644 |
|
| http-client.js | File | 1.71 KB | 0644 |
|
| http-server.js | File | 1.39 KB | 0644 |
|
| test.jpg | File | 35.55 KB | 0644 |
|
| test.jpg.license | File | 158 B | 0644 |
|
| timers.js | File | 524 B | 0644 |
|
| webkit.js | File | 438 B | 0644 |
|
| websocket-client.js | File | 1.44 KB | 0644 |
|