Commit graph

405 commits

Author SHA1 Message Date
Blake Harnden
acaef00087 pygui: fixed checking link options when joining a session, fixed stopping a session and deleting wireless links due to logic moved to being a part of wireless edge delete itself 2021-01-05 22:44:33 -08:00
Blake Harnden
3c97f80614 pygui: adjustments to help handle links between shadow nodes with initial desired behaviors 2021-01-05 15:42:46 -08:00
Blake Harnden
685b21924c pygui: refactored how edges determine if they are linked wireless, removed wireless network tracking that was not being used by the canvas manager, added helper function to nodes to check if they are of wireless type 2021-01-03 22:08:09 -08:00
Blake Harnden
63282134f5 pygui: added logic to reuse shadow nodes when linked between nodes on same canvas, added logic to avoid deleting shadow nodes when still linked to other nodes on same canvas 2021-01-02 12:59:15 -08:00
Blake Harnden
a2d9659fb7 pygui: cleaned up how edges get drawn to reuse logic, fixed clearing canvas manager edges between changing sessions, fixed deleting edge check for link interfaces 2021-01-02 10:46:05 -08:00
Blake Harnden
77e2b08d76 pygui: fixed deleting selected nodes due to logic changes 2021-01-02 10:05:40 -08:00
Blake Harnden
f24d5f20b4 pygui: updated logic to use new canvases when receiving node delete messages 2021-01-02 09:35:39 -08:00
Blake Harnden
a7d7b94215 pygui: fixed edge context, fixed node context, updated find to leverage multi canvas changes and select canvas of found node 2021-01-02 00:10:23 -08:00
Blake Harnden
62d111b74c pygui: fixed joining a multi canvas session in initial basic test case 2020-12-31 12:24:21 -08:00
Blake Harnden
2af7d595c0 pygui: cleaned up node label position for edge duplicate logic 2020-12-31 11:43:11 -08:00
Blake Harnden
3e2ea42ebd pygui: adjustments to have canvas manager manage all edges, allow shadow nodes to be moved, and updates to account for old usages of a universal canvas 2020-12-30 22:11:45 -08:00
Blake Harnden
f171c6111a pygui: created node function to check if it can be linked to another node 2020-12-17 22:32:25 -08:00
Blake Harnden
28d22c5800 pygui: initial add for link menu within node context menu 2020-12-17 17:23:37 -08:00
Blake Harnden
29ffd64b41 pygui: updates to capture canvas tab change events and set the statusbar zoom variable to be the current canvas 2020-12-17 14:56:54 -08:00
Blake Harnden
f9a4fe3331 pygui: initial canvas manager with a single tab by default, updates to how throughputs are handled related to canvases 2020-12-17 14:31:09 -08:00
Blake Harnden
2f9c169e66 pygui: improvement for loading canvas backgrounds and checking if a gui file or specific path 2020-12-17 13:27:23 -08:00
Blake Harnden
b937e316c4 pygui: cleanup for canvas metadata creation and parsing 2020-12-17 13:10:28 -08:00
Blake Harnden
367a2096fa pygui: added multi canvas support to shapes, updated how shape metadata is saved and loaded to align 2020-12-17 12:42:49 -08:00
Blake Harnden
4a8f8557a6 pygui: changes to support saving and loading canvas backgrounds to xml, canvas dimensions will apply globally 2020-12-17 12:25:11 -08:00
Blake Harnden
b01249bb4e added canvas to protobuf node messages, added node canvas id to grpc server handling, updating pygui to draw canvases based on joined session and add nodes to respective canvas 2020-12-12 23:17:43 -08:00
Blake Harnden
9621df6bc4 pygui: able to start session with multiple canvases, just using 1 canvas for now 2020-12-12 00:03:03 -08:00
Blake Harnden
6f43d0e88f pygui: added menu buttons to add/delete canvases 2020-12-11 22:54:52 -08:00
Blake Harnden
886bfc093b pygui: further refactoring to work towards multiple canvas support 2020-12-11 18:39:58 -08:00
Blake Harnden
9fa98ae378 pygui: initial commit for starting on canvas manager 2020-12-09 23:33:36 -08:00
Blake Harnden
d1c2b1bdb9 pygui: fixed configuring node back to default server after switching to a distributed server 2020-12-09 21:22:19 -08:00
Blake Harnden
836e929fbc pygui: add support to rename interfaces in the node config dialog, some small cleanup to interface validation 2020-12-08 10:02:34 -08:00
Blake Harnden
6793382f44 pygui: fixed edit node mac setting to auto to properly clear out current mac setting 2020-12-07 21:08:05 -08:00
Blake Harnden
b762fe664b pygui: avoid saving edge config metadata when values are default 2020-12-04 00:03:30 -08:00
Blake Harnden
664b049bf7 pygui: updated edge token to default to 0 for interface ids due to grpc messages not properly supporting None 2020-12-02 20:40:03 -08:00
Blake Harnden
a35e91aeba daemon: added link option to configure buffer, added support in pygui to allow configuring buffer 2020-11-30 16:49:44 -08:00
Blake Harnden
aa40229495 pygui: updated edge tokens to use core node ids instead of canvas ids, updated link config to properly set/load width/color, updated metadata to store/load edge width/color when switching sessions and saving xml 2020-10-13 10:25:40 -07:00
Blake Harnden
68934da204 pygui: fixed link options check when options is not present 2020-10-13 09:12:10 -07:00
Blake Harnden
961f630acb pygui: added option to hide/show links with 100% loss, added checks to flag links for this case 2020-10-13 06:45:37 -07:00
Blake Harnden
a1b4279d80 pygui: dont add created edges to node until after a link has been created 2020-10-12 23:42:58 -07:00
Blake Harnden
053cd1da65 pygui: removed edges tracking interfaces, since the link associated with them already does 2020-10-12 22:51:15 -07:00
Blake Harnden
055029e5c5 pygui: added check so bridge based nodes can only have 1 link between them 2020-10-12 20:41:55 -07:00
Blake Harnden
29bd6ef7f8 pygui: initial changes to allow multiple wired links between nodes, updated to commonize logic for creating edges and adjustments in the UI for several edge related cases 2020-10-12 20:28:27 -07:00
Blake Harnden
8597c5c1a8 pygui: updated edge labels to just use a set distance from nodes 2020-10-11 10:05:57 -07:00
Blake Harnden
0c847cfb37 pygui: fixed wlan/emane linked nodes drawing link options for invisible links when joining session or clearing throughput 2020-10-10 06:15:59 -07:00
Blake Harnden
93a5d1fb01 docs: cleanup of some of the emane demos, added antennaprofile demo example 2020-10-04 22:42:09 -07:00
Blake Harnden
5a07929fde added emane examples for various emane topics when used within core 2020-10-04 18:31:34 -07:00
Blake Harnden
570ad9522c initial code for a wrapped grpc client, fix for pygui node emane config, fix for xml reading emane configs specific to nodes/interfaces, fix for adding emane nodes and setting the emane model properly 2020-09-01 16:19:01 -07:00
Blake Harnden
b0bac1d319 daemon: moved grpc wrapper classes to core.grpc.wrappers 2020-08-27 11:02:02 -07:00
Blake Harnden
b89a19a18e grpc: update node events to include icon, pygui: updated handling node events to update icon when there is a change 2020-08-05 12:10:27 -07:00
Blake Harnden
5976bca34b pygui: added view toggle for normal links 2020-08-04 16:32:39 -07:00
Blake Harnden
cd0351c818 pygui: added view option to toggle wireless edges 2020-08-04 16:20:51 -07:00
Blake Harnden
e2b3a2dc6d pygui: fixed issues with configuring services on nodes due to refactoring changes 2020-08-04 12:29:08 -07:00
Blake Harnden
082677c17b pygui: fixed issue saving selected background to xml when not located within the ~/.coregui/backgrounds directory 2020-08-03 16:37:31 -07:00
Blake Harnden
4bcaa32fdb pygui: fixed issue in task handling a returned boolean value, should be doing a none check 2020-08-03 16:29:35 -07:00
Blake Harnden
b7e3d1c877 pygui: fixed emane config dialog and emane model config dialogs to expand tabs the full height of the dialog 2020-08-02 10:47:01 -07:00
Blake Harnden
f0bc3bbc99 pygui: updates to leverage tk provided constants for sticky configuration, instead of duplicate strings everywhere 2020-08-02 10:36:14 -07:00
Blake Harnden
2aeb119b04 pygui: changes to display both link and asym link options on edges in canvas 2020-08-02 10:03:21 -07:00
Blake Harnden
06563d5953 pygui: fixed issue editing hook with a new name 2020-08-01 11:07:11 -07:00
Blake Harnden
fc44ad6fe8 pygui: update title to show xml file when one is opened, fixed issue creating nodes/links when not runtime due to refactoring, removed xml_file from coreclient and depend on the grpc GetSession wrapped data, grpc: added opened file information to GetSession call 2020-08-01 11:00:26 -07:00
Blake Harnden
04f7bc561b pygui: fixed exception from bad check when double clicking in sessions dialog 2020-07-31 23:23:18 -07:00
Blake Harnden
e7a93e7fd6 pygui: config dialogs that allow selecting a file default to ~/.coregui 2020-07-31 23:18:11 -07:00
Blake Harnden
eb422f5bab pygui: mac editing disabled for nodes during runtime 2020-07-31 23:13:07 -07:00
Blake Harnden
63103ab250 pygui: removed unused unlimited button from linkconfig dialog 2020-07-31 23:09:26 -07:00
Blake Harnden
d30778b238 daemon: fixed mobility checks to allow both wlan/emane, pygui: enabled emane nodes to configure mobility 2020-07-29 16:55:42 -07:00
Blake Harnden
fe36d28522 pygui: fixed issue with changes to protobuf files for getting emane model configs on a session 2020-07-28 22:45:42 -07:00
Blake Harnden
858e771efd pygui: fixes for copying links/asymmetric links, fixes for configuring asymmetric links, fixed issues adding nodes/links and editing links from gui due to not being able to identify same source changes 2020-07-28 21:49:34 -07:00
Blake Harnden
27495cbda1 pygui: changes around using session.nodes instead of canvas_nodes when possible 2020-07-28 10:24:01 -07:00
Blake Harnden
588afaad13 pygui: changes to make use of wrapped session object and wrapped nodes to maintain and retrieving configurations information 2020-07-28 00:03:15 -07:00
Blake Harnden
3bdd6292cd grpc: update GetSession to return all session related information, rather than needing 8 different calls, pygui: updated session protobuf wrapper to handle all new data 2020-07-27 18:19:51 -07:00
Blake Harnden
41a3c5fd7f pygui: added wrapper class for sessions returned by grpc GetSession 2020-07-26 11:45:40 -07:00
Blake Harnden
82a212d1cf pygui: modified usages of protobufs within coreclient to use module namespace to make more obvious, replaced config services and services with wrappers 2020-07-25 20:27:11 -07:00
Blake Harnden
a9a2fb8e46 pygui: added wrapper for throughput events, fixed sending nodes/links for configuration 2020-07-25 19:43:24 -07:00
Blake Harnden
77f6577bce pygui: added wrappers for most usages of protobufs within pygui 2020-07-25 10:30:14 -07:00
Blake Harnden
154fa8b77d pygui: replaced hook with wrapped hook class, fixed hook dialog edit 2020-07-24 22:00:38 -07:00
Blake Harnden
fff4bd7963 moved cpu usage to a grpc call that the gui will listen to, fixed grpc stream typing to be grpc.Future, fixed pygui issue for start callback when a start fails, but there are no exceptions 2020-07-23 09:41:39 -07:00
Blake Harnden
3544d00431 pygui: implemented cpu usage monitor to status bar 2020-07-22 21:57:05 -07:00
Blake Harnden
f8d862a296 grpc/pygui: added grpc alert api, updated pygui to better handle and display alerts 2020-07-22 19:19:22 -07:00
Blake Harnden
e34002b851 pygui: added option to launch core-pygui into a specific session using an id 2020-07-22 17:18:35 -07:00
Blake Harnden
6d4434bc12 grpc: added set session user call, updated mobility to look for files within new gui as well, fixed pygui issue when start session has a grpc exceptions, showing and empty error window 2020-07-16 22:51:26 -07:00
Blake Harnden
7398196dcc pygui: dont show mobility player when joining sessions not in runtime 2020-07-11 14:06:53 -07:00
Blake Harnden
7a21affbd4 pygui: update nodes to display assigned server name when not localhost 2020-07-08 08:46:30 -07:00
Blake Harnden
43b586a1a1 daemon: updated xml to write and read session configured distributed servers, updated pygui to send servers before session start or saving xml 2020-07-08 08:24:23 -07:00
Blake Harnden
f1ff1a6577 pygui: only attempt to run observer commands on container nodes 2020-07-07 14:24:43 -07:00
Blake Harnden
6648dc7825 pygui: service and config service dialogs will now properly show services for default group selected 2020-07-07 08:46:47 -07:00
Blake Harnden
0045c8d79c pygui: avoid trying to bring up a terminal for rj45 nodes 2020-07-06 21:37:04 -07:00
Blake Harnden
a870c15b43 pygui: fixed joining sessions with mobility players 2020-07-01 12:11:34 -07:00
Blake Harnden
ab17cb1053 grpc: grpc get_session will no longer return peer to peer nodes, they should be invisible to users, updated core-cli to print human readable links better 2020-06-30 09:50:28 -07:00
Blake Harnden
5eae67aac5 grpc/pygui: updated add_node source support, updated pygui to handle add_node events 2020-06-26 22:11:36 -07:00
Blake Harnden
e79645013b grpc/pygui: updated delete_node to use the source, updated pygui to support delete node events 2020-06-26 21:45:29 -07:00
Blake Harnden
f4a3fe6b7b grpc/pygui: edit_link will now broadcast link changes, pygui now handles receiving this data 2020-06-26 15:14:30 -07:00
Blake Harnden
aebbff8c22 grpc/pygui: shifted source field in node events to base event message to apply to all events, updated add_link/delete_link rpc calls to broadcast events, updated pygui to handle these events 2020-06-26 14:39:12 -07:00
Blake Harnden
eac941ce72 pygui: updates to show wireless edges in details panel, increased edge thickness to be the same as normal edges for selection to be easier 2020-06-26 09:13:38 -07:00
Blake Harnden
98e4baca04 pygui: added services to node info panel 2020-06-25 15:05:24 -07:00
Blake Harnden
f582306bb9 pygui: added support for a details pane, can be toggled on/off, can be used to quickly view details for nodes or links 2020-06-25 10:35:01 -07:00
Blake Harnden
bb2ceaf993 pygui: draw link options on edges 2020-06-23 22:53:48 -07:00
Blake Harnden
6490b5b9cb pygui: fixed and changed custom service copy to focus only on copying the current file displayed from any other nodes with a customized version 2020-06-23 16:11:39 -07:00
Blake Harnden
60d9fe2026 pygui: clear throughput labels when disabling throughput 2020-06-23 14:48:27 -07:00
Blake Harnden
14573184e0 pygui: fixed syning session location settings when not in runtime mode, for saving xml 2020-06-23 13:28:41 -07:00
Blake Harnden
8e2cfa61c9 pygui: size and scale meter width and height are no longer editable, but will dynamically update with changes to related size/scale values 2020-06-23 10:09:16 -07:00
Blake Harnden
f39ab1dee6 pygui: limit rj45 node to 1 link 2020-06-22 21:13:24 -07:00
Blake Harnden
27e35a5213 pygui: session options dialog is disabled during runtime 2020-06-22 19:40:42 -07:00
Blake Harnden
344f35e93e pygui: updated ConfigFrame to have a disabled display option, updated nodes to stil show emane config during runtime, updated emane dialog and config dialogs to be in a viewable but disabled state during runtime 2020-06-22 19:04:55 -07:00
Blake Harnden
527d34e374 pygui: added type hinting to class variables for core.gui.dialogs 2020-06-22 11:04:33 -07:00
Blake Harnden
11be40bc90 pygui: added class variable type hinting to core.gui.graph 2020-06-19 23:24:07 -07:00
Blake Harnden
0356f3b19c pygui: added type hinting to everything under base core.gui 2020-06-19 22:08:24 -07:00