Giter Site home page Giter Site logo

joshtynjala / flexwires Goto Github PK

View Code? Open in Web Editor NEW
31.0 5.0 7.0 2.9 MB

Drag-and-drop wiring UI for Adobe Flex

Home Page: https://github.com/joshtynjala/flexwires/wiki

License: Other

ActionScript 71.55% JavaScript 28.45%
apache-flex adobe-flex actionscript ui-components adobe-flash-player adobe-air adobe-flash flash

flexwires's Introduction

Josh Tynjala is a frontend software developer, open source contributor, and karaoke enthusiast.

Since 2012, Josh has developed Feathers UI, a Kickstarter-funded cross-platform UI component framework for creative projects โ€” written in Haxe. You can contribute a monthly donation to Josh's work on Github Sponsors.

In 2022, Josh was invited to join the leadership team of OpenFL, in recognition of his contributions to the project. OpenFL is an implementation of the APIs in Adobe Flash Player and Adobe AIR, using the Haxe programming language. OpenFL projects can target the web with JavaScript and WebGL/Canvas; native C++ on iOS and Android mobile devices; and native C++ on Windows, macOS, and Linux desktop computers (or with VMs such as Adobe AIR, Electron, and HashLink).

Josh also maintains the ActionScript & MXML and SWF Debugger extensions for Visual Studio Code.

๐Ÿ“œ Josh Tynjala's Blog

๐Ÿ˜ @joshtynjala on Mastodon

flexwires's People

Contributors

joshtynjala avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

flexwires's Issues

WireManager.connecting can be incorrectly set to false if an in-progress connection triggers another connection

Description from developer:

In the WireManager, there is a function connect(startWireJack, endWireJack). In this function there is the following bit of code:

this.connecting = true;
var create:WireManagerEvent = new WireManagerEvent(WireManagerEvent.CREATE_CONNECTION, startJack, endJack);
this.dispatchEvent(create);
this.connecting = false;

In our project, I ran into a situation, where in the event chain for connecting a jack, one other jack was also connected, and one other jack was disconnected. This crashed the player. The new connection, made as a result of the first connection, runs the connect function in the wiremanager. At the end of that call, connecting is set to false, but the first connection (the one that caused this action) is still being made and connecting should still be true. Because of this, the disconnect is tried immediately, instead of being queued until after the connect. Which shouldn't happen.

To solve this, I made a subclass of the manager in which I override this function, including a var 'alreadyConnecting'. I set this. to this.connecting, before setting this.connecting to true. When done I set this.connecting to alreadyConnecting, so that if some other jack is still busy connecting, it stays true.

WireJack should stop propagation of mouseDown event

there are situations where the jack is contained in a draggable component (which must also listen for the mousedown event).
without stopping propagation, when you create a wire the containing parent will also be dragged along.

WireJack.as (807): event.stopPropagation();

cheers,

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.