|
@@ -1,27 +1,46 @@
|
|
|
+/*
|
|
|
+ * iGeom by LInE
|
|
|
+ * Free software to student private data
|
|
|
+ *
|
|
|
+ * http://www.matematica.br/igeom
|
|
|
+ * http://www.usp.br/line
|
|
|
+ *
|
|
|
+ * ./app/core/models/components/component.js
|
|
|
+ * @version 2021/11/09
|
|
|
+ */
|
|
|
+
|
|
|
import { menu as Menu } from "../../application/menu";
|
|
|
import { app as App } from "../../../app";
|
|
|
+
|
|
|
export class Component {
|
|
|
- constructor(drawer, options) {
|
|
|
+
|
|
|
+ constructor (drawer, options) {
|
|
|
this.options = options;
|
|
|
this.states;
|
|
|
this.drawer;
|
|
|
this.state;
|
|
|
this.setDrawer(drawer);
|
|
|
this._bootstrap();
|
|
|
- }
|
|
|
- _bootstrap() {
|
|
|
+ }
|
|
|
+
|
|
|
+ _bootstrap () {
|
|
|
if (this.options == undefined) return;
|
|
|
Menu.add(this);
|
|
|
- }
|
|
|
- setDrawer(drawer) {
|
|
|
+ }
|
|
|
+
|
|
|
+ setDrawer (drawer) {
|
|
|
this.drawer = drawer;
|
|
|
- }
|
|
|
- draw(e) {
|
|
|
- this.drawer.draw(e);
|
|
|
- }
|
|
|
- click() {
|
|
|
+ }
|
|
|
+
|
|
|
+ // @calledby app/core/drawers/stage.js: _clickTap(e): tool.draw.bind(tool)(e);
|
|
|
+ draw (e) {
|
|
|
+ this.drawer.draw(e); // app/components/<geom obj/drawers/<geom obj>-drawer.js
|
|
|
+ }
|
|
|
+
|
|
|
+ click () {
|
|
|
this.state = undefined;
|
|
|
App.setSelectedTool(this);
|
|
|
this.draw();
|
|
|
- }
|
|
|
-}
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|