Commit Graph

11 Commits

Author SHA1 Message Date
Ilya Bogdanov
a771e40002
Component browser breadcrumbs (#3686)
[ci no changelog needed]

[Task link](https://www.pivotaltracker.com/story/show/181445628).

This PR implements a Breadcrumbs panel for the new component browser.
The Breadcrumbs is a horizontal list of text labels separated by a special icon and has an optional ellipsis icon at the end.
It is implemented using the new GridView component.

Video:

Demo of adding new breadcrumbs, scrolling behavior, and selecting breadcrumbs with the mouse.


https://user-images.githubusercontent.com/6566674/189199432-77807cef-00dc-4abe-b95c-b17a536f59f6.mp4

Demo of selecting breadcrumbs with keyboard shortcuts:


https://user-images.githubusercontent.com/6566674/189199603-53e55335-73ba-4ed7-8291-4455144c06aa.mp4

# Important Notes
- This PR implements an old interaction of the design of the component browser. The new design of the breadcrumbs can not be easily integrated into the current look of the component browser, so we would need to update styles later. It should be a relatively simple task. *The implementation uses color from the new design though. (but not fonts and sizes)*
- I found a bug in the grid view implementation that causes panics at runtime in some conditions. The reason is triggering FRP endpoints while constructing new entries. This issue is fixed in the PR.
2022-09-19 09:21:52 +00:00
Dmitry Bushev
de0a231417
IDE uses new visualization API (#3661) 2022-09-01 15:33:46 +03:00
Hubert Plociniczak
22a371a9c6
Substitute this with self (#3524)
A semi-manual s/this/self appied to the whole standard library.
Related to https://www.pivotaltracker.com/story/show/182328601

In the compiler promoted to use constants instead of hardcoded
`this`/`self` whenever possible.

# Important Notes
The PR **does not** require explicit `self` parameter declaration for methods as this part
of the design is still under consideration.
2022-06-21 10:53:52 +00:00
Wojciech Danilo
55dce7af65 Fixing build. 2022-03-10 06:21:57 +01:00
Wojciech Danilo
2accb722a8 Applying review 2022-03-10 05:57:59 +01:00
Wojciech Danilo
73f33d1c7f Linting codebase 2022-03-10 05:32:33 +01:00
Adam Obuchowicz
c68ac5c0d6
Integration Test Framework (#3257) 2022-02-11 13:19:02 +01:00
Ilya Bogdanov
fc953ec055
Fix regression in names of the template-based projects (#3201) 2021-12-24 11:29:06 +03:00
Ilya Bogdanov
81d6338cef
Finish up Rust Welcome Screen (#3167)
The old JS-based Welcome Screen was removed and replaced with the Rusty one.

Co-authored-by: Adam Obuchowicz <adam.obuchowicz@enso.org>
Co-authored-by: Adam Obuchowicz <adam.obuchowicz@luna-lang.org>
2021-12-11 00:01:45 +03:00
Ilya Bogdanov
d44ca85197
Refactor integration level so "no project opened" state is possible (#3160)
* refactor: remove invalid comment in ide/lib.rs

* refactor: current_project() returns Option

* refactor: create IDE controller without project

* refactor: handle missing project param in Cloud environment

* refactor: store project name in searcher

So no need in current_project call

* chore: apply rustfmt

* chore: fix tests

* refactor: rename maybe_project_name to project_name

* refactor: move project_name to BackendService::LanguageServer

* refactor: do not use early return in integration.rs

* refactor: use CloneCell instead of RefCell for current_project

* refactor: store model::Project in Searcher controller

* refactor: use expect instead of unwrap in searcher tests

* feat: add new_with_project_model constructor for desktop controller

It might be useful in tests

* chore: fix searcher tests
2021-11-30 11:48:12 +03:00
Adam Obuchowicz
bb3b145af5
Refactor gui/src/rust/ide to two app/gui and app/ide-desktop (#3157) 2021-11-16 10:04:56 +01:00