Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dirty fix for the resize dialog #5042

Merged
merged 1 commit into from
Mar 1, 2023

Conversation

RensDofferhoff
Copy link
Contributor

No description provided.

@RensDofferhoff RensDofferhoff merged commit b425454 into jasp-stats:development Mar 1, 2023
JorisGoosen pushed a commit that referenced this pull request Mar 16, 2023
JorisGoosen pushed a commit that referenced this pull request Mar 23, 2023
JorisGoosen pushed a commit that referenced this pull request Apr 6, 2023
JorisGoosen pushed a commit that referenced this pull request Apr 6, 2023
JorisGoosen pushed a commit that referenced this pull request Apr 18, 2023
JorisGoosen pushed a commit that referenced this pull request May 16, 2023
JorisGoosen pushed a commit that referenced this pull request May 23, 2023
JorisGoosen pushed a commit that referenced this pull request May 25, 2023
JorisGoosen pushed a commit that referenced this pull request Jun 15, 2023
JorisGoosen pushed a commit that referenced this pull request Jun 20, 2023
JorisGoosen pushed a commit that referenced this pull request Jun 27, 2023
boutinb pushed a commit to boutinb/jasp-desktop that referenced this pull request Jul 13, 2023
boutinb pushed a commit to boutinb/jasp-desktop that referenced this pull request Jul 13, 2023
RensDofferhoff added a commit that referenced this pull request Jul 13, 2023
* Implements a data mode
- can enter data manually
- copy/paste to itself and to from spreadsheet editors
- Arrow + shift now also changes selection
- Allow for changing columnnames
- Make sure a "New Data"-set can be closed
- Make sure handle can't be seen when in datamode (like results+analyses)
- When switching to back the analysesmode, last edit should be absorbed
- Make ribbonbuttons behave
- First attempts at restoring external data editing but commented it out. Im not sure if and how this should be done
- Some general cleaning up
- select all and cut and include columnnames in all that
- Also add a rightclick menu
- Don't show edit data etc in modules menu
- Adds support for more context-menu options:
-- insert. delete and select columns & rows
- Turn BOM workaround on by default for SKF
- Fix after rebase/merge before release 0.15

* SKF JASP postmerge and fix
- Quality Control is a "Common" Module for SKF (and is now enabled here)
- Fix bug where data wouldn't be writable after resizing data to something larger than 512 rows and back (cleaning up shared memory _blocks basically)
- ResizeDataDialog should have roundedbuttons as well

* latest version of jaspProcessControl and other submodules

If all goes well this is the SKF 0.16.1 version
Upped the buildnumber to 0.16.1.1 to differentiate from normal 0.16.1 and upcoming 0.16.2 as this is a bit in between
Also silence some debug prints

* post qt6 merge fixes

* post rebase fixes 10-11-22

* post rebase fix 7-12-22

resize the resize data dialog a bit
made sure emptyvalue labels are not put in the editItem

* (event)=>{}

* Rebasing mistake

* Make sure editing is quick and analyses are hidden in dataMode (#5040)

* dirty fix for the resize dialog (#5042)

* odule shenanigans

do stuff with jaspPower

add jaspPredictiveAnalytics

Add learnstats and right versions of QC and predictive analytics

make sure new modules get loaded

jaspLearnStats should also track a branch

* Db data set (#5020)

* Sqlite as data backend.

Squashed lots of commits:

starting direct sqlite3 api usage

database is created with tables

create dataset now inserts a dummy row in the table

inserting works

loading dataset info also works

dataset syncs values with DB now

moved emptyvalues stuff from datasetpackage to separate class, now a child of DataSet
database-json and datafilepath are also now stored there.

Give Filter its own class and sync with DB

filtervalues are now also in DB

clean split between SQL code and c++ api

reorder name components

how to store data in the dataset?

make sure we use transactions

also more functionality and storage for columns and filters.
They are now both part of the DataSet_# tables which means they all have the same amount of rows by definition

more filter functionality and settled on "constructorJson/R"

move filter to CommonData

moved Filter to DataSetPackage to avoid destruction with DataSet

columns are indexed so there should be support for order...

better make some extra classses and rename the old ones

rename old dataset, column(s) to *SM

rename Label(s) to Label(s)SM

add empty new DataSet and Column class

values and filter are now synched to db

better OOP adherence

add some functions from ColumnSM but they wont compile ;)

more labelstuff

ok time to stop

reimagine what is supposed to be stored in a label class

and partially rewrote that

compiles but crashes

now it also works ^^

labels order is now reflected to database as well as label.label for ints

rewrite engine to use database, doesnt work at all yet

engine can load the data!

remove shared mem classes

try to get everything to compile after removing those classes

compiles and crashes

I guess I should commit this broken stuff before breaking it some more

actually set values...

loading data works ^^

add revisions to DataSet, Columns and Filters tables.

This allows for granular reloadingh (granular in that not *all* columns might need to be reloaded)

data loading and using goes pretty well now

Filter is no longer "singletonized" but created and destroyed with the DataSet
loading a second dataset after closing a first crashes pretty bad though...

Loading, closing and reloading now works!

Also make sure to not delete the database while jasp is still using it...

wip

some more code

it works now and sped up greatyl

add bunch a timers to ColumnUtils and some optimization tweaks that probably dont help very much

at least it works now and engine stops sleeping

filterWrite could be quicker (this way I hope)

write all values at once, should be much faster

put a max around value going into viewportH and V cause the height can become insanely large when closing/opening dataset.
This causes it to create items for all entries in the data. Which is quite a lot when you have 10cols and 1 million rows for instance...

batched loading also added

does however crash pretty bad on release mode

even iets anders

iterating

loading labels doesnt crash, editing works smoother but nominal data gets read wrong

tsja... wat is er mis met de nominals?

debug stuff for nominal error ?

remove debulogs and dont +1 rownumber as it is 0-based anyway

filter now works as it did with shared memory

Dont send filter result through shared memory but wreite directly to database

remove cruft
fix jasp-stats/jasp-issues#1576 (value column too thin in variableswindow)
editing now seems to work smoothly

try to convert back to scalar if changed at a reasonable moment

	show filtered rowNumber and shutdown JASP cleanly

pointer rewrite

thinking hard on subNodeModels but ...

lots of changes, internal structure used for ModelIndex. Does not compile

it compiles and sort of works, but sort of in the sense it shows some data. not nearly everything though?

Fixed it, data shows

Editing now mostly works.

resizing data does not

Resizing data works ok now, computed columns still mess it up though

improve handling of variableswindow on nominal->scale conversion while open
also remove ComputedColumns refs to start writing that out of JASP
does not compile

try move all computedColumn stuff to Column etc

moved _revision to DataSetBaseNode for PackageModified feedback
moving more computedcolumns stuff to Column/DataSetPackage

almost compiles ^^

some more

it compiles again

computed columns almost work.
In that they firest work but then overwrite themselves with nonsense for some reason...

unselect computed column if it gets removed

changing columntype doesnt change columntype of dependents anymore

computedcolumns seem to function again

possibly improved things but still something goes wrong recovering a computed column from a previous error

computed columns keep working after an error now

removing columns through resizing now noticed by computed columns

make sure computed columns also function in datamode

something else

bit better

dont need _edit

I really should read the whole api documentation

steps forwards and backwards

improved some dialogs and RectangularButton and derivatives now show hovered color when activeFocussed (for keyboard nav)

use jaspTheme.fontCode in computedColumn R Window

dialog fixes

constructorjson isnt being reset anymoreo

Fix resizing dataset and remove bunch of debuglogging

make sure to also set _stopProcessing in stopEngines and co

rowNumber/primary keys in sqlite ARE 1-based after all
Also make sure we can resize the data to being smaller than it already was :p

make sure computed column creation type selection work and columnheaders and rownumbers in datasetview really should neatly line up with them lines

kapot

Handling removed columns better in constructor computed cols

preparing rewrite of saving and loading jaspfiles

preparing prettier exportercode

exporting new jasp archive format really cleans up the code in JASPExporter

remove weird java style manifest and replace by json for possible later expansion

does not compile

loads new jasp file and shows data

also load filter please

also load computed columns

klaar voor vandaag

show progress

make sure computed columns load (from penguins.jasp in any case)

remove some logging and small fixes

start documenting shit

more commentary

show db structure

make it compile on linux

Fixes issues with missing values in scalar columns

Added some workaround functions to allow storing NAN, INF and -INF as strings in double columns
This works because sqlite doesnt care (usually) what you put in each column
And it is necessary because it does NOT support NAN and (-)INF and just converts it to nothing...

put emptyvalues in emptyvalues

and databaseJson in databaseJson instead of mixing them up...

Suppress _info redefinition in columnsModel.cpp

* fix crash

* inserting columns and rows should now work regardless of where

* more timers and a speedup

* more timers

* Ok, the UNIQUE constraint messes up updating column-indices (as the order isnt fixed in sql update)
also, the new column to insert ought to get the size of the dataset as empty rows

Keep in mind that inserting rows in a nominal text column can destroy the entire column for some reason...

* make sure newly inserted columns are scalar and empty by default
also makes sure inserting rows works and doesnt erase all column(type)s

* remove superfluous forward declaration

* progress for each row can be appreciated when loading large datasets

* engines are loading data slightly less opaquely

it would be nice to have a progressbar in the results
And an update/change might be needed for the engine startup/kill protocol

* use static stringvec to make const ref possible for allValuesAsStrings in InitColumn
Also fix a small problem in labeloriginalvalue retrieval
but rowInsert is still broken

* makes deleting a row work without messing up shit

* delete row like insert row

* make sure engine doesnt get into a reload->resume->reload loop for no good reason at all if the dataset is so small the desktop doesnt even register the reloadData response

* better default title for relaxing the impatient user

* memory optimizations

* cleaner csvimporter

* more fruitless attempts

* safe some memory by determining the amount of rows in csv

* use swap trick to dealloc vector to safe mem

* better editing

* even smoother

* Add icons to popup menu

* add icons to header cutcopypaste

* greatly speed up single cell edits
more timers and dynamic_casts are better than static because some pointers might have become crap apparently

* more data buttons, bit crashy though

* buttons do something, but one of those things is crashing jasp

* buttons now work without crashing jasp

* support qt insert remove api better and stop crash on exit

* wip use proper qabstractitemmodel signals

reset dataset if all rows/columns are deleted

add options for creating computed columns, rudimentary and still crashes on some actions

adding computed columns opens them and deleting also works correctly now

use qt api more closely

but inserting computed columns still has a bit of a problem

try to stop it crashing...

at least it stopped crashing, but the order of columns is now messed up

sort of right order

ok no more crash I hope?
It is time to stop in any case

handle not removing all rows columns again

there are still some issues but im stopping for today

bunch of fixes

* make sure to clean up db at close workspace
also setModified in setData

* make edit item better behaved ^^

* remove finishEdit

* fixes for arrow navigation, itemEditable and column/row deletion is now prevented after selection is removed

* fix row delete selection behaviour

* Update Desktop/qquick/datasetview.cpp

---------

Co-authored-by: RDOFFERHOFF <rdofferhoff@protonmail.com>
Co-authored-by: boutinb <b.boutin@uva.nl>

* commit edit on editFinished + navigation + name change (#5112)

* stop crashing on close in analyses mode (#5113)

make sure an ongoing edit doesnt get lost when switching to analyses

* fix export (#5115)

* headerDataChanged results in sigsegv upon variable type switch. (#5114)

* postrebase fix

* Some fixes and improvements for data editing (#5120)

Co-authored-by: bruno boutin <b.boutin@uva.nl>

* Add Automatic Extended Data (#5121)

* Add Automatic Extended Data

Do not use the view in the model

Remove comment

Delete ResizeDataDialog.qml

* post rebase fix and also make sure description and title dont mess up layout heights of VariablesWindow

* make computed column dialog function again

* fix problems with variableswindow and filters

* comment out a log

---------

Co-authored-by: boutinb <b.boutin@uva.nl>

* Add/Remove row/column should work with pop-up menu

* Use JASP TextFields in Variables Window (#5123)

Co-authored-by: Joris Goosen <joris@jorisgoosen.nl>

* Better datafile synchronisation handling (#5124)

* rename isArchive to isJaspFile

* fix headers paste/cut icon rightclickmenu

* can now cleanly switch to data synchronisatio

* icon, better change handling and fixed small error in insert/erase

* loading works a bit better but gets a crash on second load...

* make sure an old jasp file loads, and synching is turned on if datfile is the same as when saving
if the datafile is different and the user doesnt want to reload the synching is disbled otherwise it is reloaded

* store synch in sqlite/dataset instead of datasetpackage

* Remove Synchronization setting in Preferences/Data

---------

Co-authored-by: boutinb <b.boutin@uva.nl>

* Add shortcut in customMenu

* make compile on windows

* this adds support for running the filters in editmode (#5126)

* this adds support for running the filters in editmode

* this makes sure the rownumbers actually make sense when filtering

try not to reload from a readonly datafile

* make sure the lines from expandeddataproxymodel actually make any sense at all
als just use the defined roles directly instead of this getRole(). switches are a whole lot more readable then what was going on before

* Filtered rows should not have lines

---------

Co-authored-by: boutinb <b.boutin@uva.nl>

* off by 1 (#5128)

* Error when selecting with shift

* Update org.jaspstats.JASP.appdata.xml

* Synchronise the Variable Window with the selected column

When the Variable Window is open, it would be user friendly to synchronise it with the selected column in the the Data view

* stop filter from crashing jasp

* Adds Ejs requests (#5132)

* select columns and row through headers
use shift to select multiple

* add separator to ribbonbar
add clear cells functionality

* add icon for cells clear and some other tweaks

* should solve jasp-stats/INTERNAL-jasp#2346 (weird int values)#

* make synch cancel behave

* add context menu to col/rowheaders

* delete/fn+backspace now works fine

* small null check and put ctrl+a shortcut a level higher

* make icons small
jasp-stats/INTERNAL-jasp#2343

* brunos remarks

* Highlight the right column header in Analyses mode (#5135)

In Analyses mode, if the Variable Window is open, the corresponding column header should be highlighted.
Also by clicking on another column in the data view, if the Variable Window is already open, the Variable Window should display the settings of the clicked column
Remove the obsolete feature that the Variable disappear when a scale variable is chosen.

* Beter handling of Selection. mouse click and right-click behaviour on the Data view (#5134)

* Beter handling of Selection. mouse click and right-click behaviour on the Data view

In the DataView, different issues have been solved:
. Select a cell, right click on another cell: the selected cell should be unselected, and the pop-up menu should appear
. Select some cells, right-click on one of these cells: the selected cells should stay selected, and the pop-uo menu shoulp appear. A right-click on an unselected cell should unselect the selected cells, select the new cell, and the pop-up menu should appear. A simple click (on a selected cell or not) unselect the other cells, and select the current cell, and this cell gets the focus.
. Click on a row header: the whole row should be selected. Click on one cell (selected or not), the row is unselected, only the current cell is selected and has the focus. Right click on a selected cell: the row stays selected, and a pop-up menu appears on the clicked cell. Right -click on a unselected cell, the row is unselected and a pop-up menu appears on the clicked cell.
. Click on a row header and shift-click on another row header: all the rows between the 2 rows shoudl be selected. Same behaviour as with only one row selected.. If delete row is selected from the pop-up menu or from the ribbon menu: all the selected rows should be removed.
. Same behaviour with column header

* Rens issues

* Filter should work

* Solve crash when deleting computed columns

* Add Undo/Redo functionality

* 0.17.3 mac arm (#5160)

* Added jaspTimeSeries Module

* Update jaspAudit and alter TimeSeries version

* Alter to 0.17.3

* specify branch for TimeSeries

* oops

* Makes multibridge work on macos Arm!

To use this commit and actually have bug jasp-stats/jasp-test-release#2325 fixed
you need to remove `gmp` and `mpfr` as installed by `brew`.

Then download a snapshot of `gmp`: https://gmplib.org/download/snapshot/gmp-next/gmp-6.2.99-20221117121717.tar.zst
Build with:
./configure --enable-static --disable-shared --with-pic --enable-cxx
make -j
make check #These NEED to pass
sudo make install

Then build `mpfr` and use:
./configure --enable-static --disable-shared --with-pic --with-gmp=/usr/local
make -j
sudo make install

Then to make sure Qt creator can actually find pkg-config (sigh) you need to start it from a terminal

Make sure to `git submodule update --init` too

Then use a fresh buildfolder or remove at least `_cache`, `_deps`, `_scripts`, `Modules`, and `Frameworks`
Run cmake and verify `multibridge` is installed at the end, it will probably give some loading namespace errors during help generation but that can be ignored

* Only preinstall deps and multibridge on macos ARM

* 0.17.3 Mac ARM

---------

Co-authored-by: Joris Goosen <joris@jorisgoosen.nl>
Co-authored-by: jaspdev jasdev <buildworker@re-byodm-145-109-110-108.wireless.uva.nl>

* rebase mistake

---------

Co-authored-by: Joris Goosen <Joris@JorisGoosen.nl>
Co-authored-by: boutinb <b.boutin@uva.nl>
Co-authored-by: jaspdev jasdev <buildworker@re-byodm-145-109-110-108.wireless.uva.nl>
Co-authored-by: jaspdev jasdev <buildworker@re-byodm-145-109-102-41.wireless.uva.nl>
boutinb pushed a commit that referenced this pull request Jul 24, 2023
boutinb pushed a commit to boutinb/jasp-desktop that referenced this pull request Jul 24, 2023
boutinb pushed a commit that referenced this pull request Jul 27, 2023
JorisGoosen pushed a commit that referenced this pull request Aug 17, 2023
RensDofferhoff added a commit to RensDofferhoff/jasp-desktop that referenced this pull request Aug 21, 2023
RensDofferhoff added a commit that referenced this pull request Aug 21, 2023
* add new module

* properly spell the module name

* use url with extra 's' like the module name

* Implements a data mode
- can enter data manually
- copy/paste to itself and to from spreadsheet editors
- Arrow + shift now also changes selection
- Allow for changing columnnames
- Make sure a "New Data"-set can be closed
- Make sure handle can't be seen when in datamode (like results+analyses)
- When switching to back the analysesmode, last edit should be absorbed
- Make ribbonbuttons behave
- First attempts at restoring external data editing but commented it out. Im not sure if and how this should be done
- Some general cleaning up
- select all and cut and include columnnames in all that
- Also add a rightclick menu
- Don't show edit data etc in modules menu
- Adds support for more context-menu options:
-- insert. delete and select columns & rows
- Turn BOM workaround on by default for SKF
- Fix after rebase/merge before release 0.15

* SKF JASP postmerge and fix
- Quality Control is a "Common" Module for SKF (and is now enabled here)
- Fix bug where data wouldn't be writable after resizing data to something larger than 512 rows and back (cleaning up shared memory _blocks basically)
- ResizeDataDialog should have roundedbuttons as well

* latest version of jaspProcessControl and other submodules

If all goes well this is the SKF 0.16.1 version
Upped the buildnumber to 0.16.1.1 to differentiate from normal 0.16.1 and upcoming 0.16.2 as this is a bit in between
Also silence some debug prints

* post qt6 merge fixes

* post rebase fixes 10-11-22

* post rebase fix 7-12-22

resize the resize data dialog a bit
made sure emptyvalue labels are not put in the editItem

* (event)=>{}

* Rebasing mistake

* Make sure editing is quick and analyses are hidden in dataMode (#5040)

* dirty fix for the resize dialog (#5042)

* odule shenanigans

do stuff with jaspPower

add jaspPredictiveAnalytics

Add learnstats and right versions of QC and predictive analytics

make sure new modules get loaded

jaspLearnStats should also track a branch

* Db data set (#5020)

* Sqlite as data backend.

Squashed lots of commits:

starting direct sqlite3 api usage

database is created with tables

create dataset now inserts a dummy row in the table

inserting works

loading dataset info also works

dataset syncs values with DB now

moved emptyvalues stuff from datasetpackage to separate class, now a child of DataSet
database-json and datafilepath are also now stored there.

Give Filter its own class and sync with DB

filtervalues are now also in DB

clean split between SQL code and c++ api

reorder name components

how to store data in the dataset?

make sure we use transactions

also more functionality and storage for columns and filters.
They are now both part of the DataSet_# tables which means they all have the same amount of rows by definition

more filter functionality and settled on "constructorJson/R"

move filter to CommonData

moved Filter to DataSetPackage to avoid destruction with DataSet

columns are indexed so there should be support for order...

better make some extra classses and rename the old ones

rename old dataset, column(s) to *SM

rename Label(s) to Label(s)SM

add empty new DataSet and Column class

values and filter are now synched to db

better OOP adherence

add some functions from ColumnSM but they wont compile ;)

more labelstuff

ok time to stop

reimagine what is supposed to be stored in a label class

and partially rewrote that

compiles but crashes

now it also works ^^

labels order is now reflected to database as well as label.label for ints

rewrite engine to use database, doesnt work at all yet

engine can load the data!

remove shared mem classes

try to get everything to compile after removing those classes

compiles and crashes

I guess I should commit this broken stuff before breaking it some more

actually set values...

loading data works ^^

add revisions to DataSet, Columns and Filters tables.

This allows for granular reloadingh (granular in that not *all* columns might need to be reloaded)

data loading and using goes pretty well now

Filter is no longer "singletonized" but created and destroyed with the DataSet
loading a second dataset after closing a first crashes pretty bad though...

Loading, closing and reloading now works!

Also make sure to not delete the database while jasp is still using it...

wip

some more code

it works now and sped up greatyl

add bunch a timers to ColumnUtils and some optimization tweaks that probably dont help very much

at least it works now and engine stops sleeping

filterWrite could be quicker (this way I hope)

write all values at once, should be much faster

put a max around value going into viewportH and V cause the height can become insanely large when closing/opening dataset.
This causes it to create items for all entries in the data. Which is quite a lot when you have 10cols and 1 million rows for instance...

batched loading also added

does however crash pretty bad on release mode

even iets anders

iterating

loading labels doesnt crash, editing works smoother but nominal data gets read wrong

tsja... wat is er mis met de nominals?

debug stuff for nominal error ?

remove debulogs and dont +1 rownumber as it is 0-based anyway

filter now works as it did with shared memory

Dont send filter result through shared memory but wreite directly to database

remove cruft
fix jasp-stats/jasp-issues#1576 (value column too thin in variableswindow)
editing now seems to work smoothly

try to convert back to scalar if changed at a reasonable moment

	show filtered rowNumber and shutdown JASP cleanly

pointer rewrite

thinking hard on subNodeModels but ...

lots of changes, internal structure used for ModelIndex. Does not compile

it compiles and sort of works, but sort of in the sense it shows some data. not nearly everything though?

Fixed it, data shows

Editing now mostly works.

resizing data does not

Resizing data works ok now, computed columns still mess it up though

improve handling of variableswindow on nominal->scale conversion while open
also remove ComputedColumns refs to start writing that out of JASP
does not compile

try move all computedColumn stuff to Column etc

moved _revision to DataSetBaseNode for PackageModified feedback
moving more computedcolumns stuff to Column/DataSetPackage

almost compiles ^^

some more

it compiles again

computed columns almost work.
In that they firest work but then overwrite themselves with nonsense for some reason...

unselect computed column if it gets removed

changing columntype doesnt change columntype of dependents anymore

computedcolumns seem to function again

possibly improved things but still something goes wrong recovering a computed column from a previous error

computed columns keep working after an error now

removing columns through resizing now noticed by computed columns

make sure computed columns also function in datamode

something else

bit better

dont need _edit

I really should read the whole api documentation

steps forwards and backwards

improved some dialogs and RectangularButton and derivatives now show hovered color when activeFocussed (for keyboard nav)

use jaspTheme.fontCode in computedColumn R Window

dialog fixes

constructorjson isnt being reset anymoreo

Fix resizing dataset and remove bunch of debuglogging

make sure to also set _stopProcessing in stopEngines and co

rowNumber/primary keys in sqlite ARE 1-based after all
Also make sure we can resize the data to being smaller than it already was :p

make sure computed column creation type selection work and columnheaders and rownumbers in datasetview really should neatly line up with them lines

kapot

Handling removed columns better in constructor computed cols

preparing rewrite of saving and loading jaspfiles

preparing prettier exportercode

exporting new jasp archive format really cleans up the code in JASPExporter

remove weird java style manifest and replace by json for possible later expansion

does not compile

loads new jasp file and shows data

also load filter please

also load computed columns

klaar voor vandaag

show progress

make sure computed columns load (from penguins.jasp in any case)

remove some logging and small fixes

start documenting shit

more commentary

show db structure

make it compile on linux

Fixes issues with missing values in scalar columns

Added some workaround functions to allow storing NAN, INF and -INF as strings in double columns
This works because sqlite doesnt care (usually) what you put in each column
And it is necessary because it does NOT support NAN and (-)INF and just converts it to nothing...

put emptyvalues in emptyvalues

and databaseJson in databaseJson instead of mixing them up...

Suppress _info redefinition in columnsModel.cpp

* fix crash

* inserting columns and rows should now work regardless of where

* more timers and a speedup

* more timers

* Ok, the UNIQUE constraint messes up updating column-indices (as the order isnt fixed in sql update)
also, the new column to insert ought to get the size of the dataset as empty rows

Keep in mind that inserting rows in a nominal text column can destroy the entire column for some reason...

* make sure newly inserted columns are scalar and empty by default
also makes sure inserting rows works and doesnt erase all column(type)s

* remove superfluous forward declaration

* progress for each row can be appreciated when loading large datasets

* engines are loading data slightly less opaquely

it would be nice to have a progressbar in the results
And an update/change might be needed for the engine startup/kill protocol

* use static stringvec to make const ref possible for allValuesAsStrings in InitColumn
Also fix a small problem in labeloriginalvalue retrieval
but rowInsert is still broken

* makes deleting a row work without messing up shit

* delete row like insert row

* make sure engine doesnt get into a reload->resume->reload loop for no good reason at all if the dataset is so small the desktop doesnt even register the reloadData response

* better default title for relaxing the impatient user

* memory optimizations

* cleaner csvimporter

* more fruitless attempts

* safe some memory by determining the amount of rows in csv

* use swap trick to dealloc vector to safe mem

* better editing

* even smoother

* Add icons to popup menu

* add icons to header cutcopypaste

* greatly speed up single cell edits
more timers and dynamic_casts are better than static because some pointers might have become crap apparently

* more data buttons, bit crashy though

* buttons do something, but one of those things is crashing jasp

* buttons now work without crashing jasp

* support qt insert remove api better and stop crash on exit

* wip use proper qabstractitemmodel signals

reset dataset if all rows/columns are deleted

add options for creating computed columns, rudimentary and still crashes on some actions

adding computed columns opens them and deleting also works correctly now

use qt api more closely

but inserting computed columns still has a bit of a problem

try to stop it crashing...

at least it stopped crashing, but the order of columns is now messed up

sort of right order

ok no more crash I hope?
It is time to stop in any case

handle not removing all rows columns again

there are still some issues but im stopping for today

bunch of fixes

* make sure to clean up db at close workspace
also setModified in setData

* make edit item better behaved ^^

* remove finishEdit

* fixes for arrow navigation, itemEditable and column/row deletion is now prevented after selection is removed

* fix row delete selection behaviour

* Update Desktop/qquick/datasetview.cpp

---------

Co-authored-by: RDOFFERHOFF <rdofferhoff@protonmail.com>
Co-authored-by: boutinb <b.boutin@uva.nl>

* commit edit on editFinished + navigation + name change (#5112)

* stop crashing on close in analyses mode (#5113)

make sure an ongoing edit doesnt get lost when switching to analyses

* fix export (#5115)

* headerDataChanged results in sigsegv upon variable type switch. (#5114)

* postrebase fix

* Some fixes and improvements for data editing (#5120)

Co-authored-by: bruno boutin <b.boutin@uva.nl>

* Add Automatic Extended Data (#5121)

* Add Automatic Extended Data

Do not use the view in the model

Remove comment

Delete ResizeDataDialog.qml

* post rebase fix and also make sure description and title dont mess up layout heights of VariablesWindow

* make computed column dialog function again

* fix problems with variableswindow and filters

* comment out a log

---------

Co-authored-by: boutinb <b.boutin@uva.nl>

* Add/Remove row/column should work with pop-up menu

* Use JASP TextFields in Variables Window (#5123)

Co-authored-by: Joris Goosen <joris@jorisgoosen.nl>

* Better datafile synchronisation handling (#5124)

* rename isArchive to isJaspFile

* fix headers paste/cut icon rightclickmenu

* can now cleanly switch to data synchronisatio

* icon, better change handling and fixed small error in insert/erase

* loading works a bit better but gets a crash on second load...

* make sure an old jasp file loads, and synching is turned on if datfile is the same as when saving
if the datafile is different and the user doesnt want to reload the synching is disbled otherwise it is reloaded

* store synch in sqlite/dataset instead of datasetpackage

* Remove Synchronization setting in Preferences/Data

---------

Co-authored-by: boutinb <b.boutin@uva.nl>

* Add shortcut in customMenu

* make compile on windows

* this adds support for running the filters in editmode (#5126)

* this adds support for running the filters in editmode

* this makes sure the rownumbers actually make sense when filtering

try not to reload from a readonly datafile

* make sure the lines from expandeddataproxymodel actually make any sense at all
als just use the defined roles directly instead of this getRole(). switches are a whole lot more readable then what was going on before

* Filtered rows should not have lines

---------

Co-authored-by: boutinb <b.boutin@uva.nl>

* off by 1 (#5128)

* Error when selecting with shift

* Update org.jaspstats.JASP.appdata.xml

* Synchronise the Variable Window with the selected column

When the Variable Window is open, it would be user friendly to synchronise it with the selected column in the the Data view

* stop filter from crashing jasp

* Adds Ejs requests (#5132)

* select columns and row through headers
use shift to select multiple

* add separator to ribbonbar
add clear cells functionality

* add icon for cells clear and some other tweaks

* should solve jasp-stats/INTERNAL-jasp#2346 (weird int values)#

* make synch cancel behave

* add context menu to col/rowheaders

* delete/fn+backspace now works fine

* small null check and put ctrl+a shortcut a level higher

* make icons small
jasp-stats/INTERNAL-jasp#2343

* brunos remarks

* Highlight the right column header in Analyses mode (#5135)

In Analyses mode, if the Variable Window is open, the corresponding column header should be highlighted.
Also by clicking on another column in the data view, if the Variable Window is already open, the Variable Window should display the settings of the clicked column
Remove the obsolete feature that the Variable disappear when a scale variable is chosen.

* Beter handling of Selection. mouse click and right-click behaviour on the Data view (#5134)

* Beter handling of Selection. mouse click and right-click behaviour on the Data view

In the DataView, different issues have been solved:
. Select a cell, right click on another cell: the selected cell should be unselected, and the pop-up menu should appear
. Select some cells, right-click on one of these cells: the selected cells should stay selected, and the pop-uo menu shoulp appear. A right-click on an unselected cell should unselect the selected cells, select the new cell, and the pop-up menu should appear. A simple click (on a selected cell or not) unselect the other cells, and select the current cell, and this cell gets the focus.
. Click on a row header: the whole row should be selected. Click on one cell (selected or not), the row is unselected, only the current cell is selected and has the focus. Right click on a selected cell: the row stays selected, and a pop-up menu appears on the clicked cell. Right -click on a unselected cell, the row is unselected and a pop-up menu appears on the clicked cell.
. Click on a row header and shift-click on another row header: all the rows between the 2 rows shoudl be selected. Same behaviour as with only one row selected.. If delete row is selected from the pop-up menu or from the ribbon menu: all the selected rows should be removed.
. Same behaviour with column header

* Rens issues

* Filter should work

* Solve crash when deleting computed columns

* Add Undo/Redo functionality

* Add undo for Computed column

Fix also problems with labels & filters:
. VariablesList of TableView using levels of a variable as source, did not get the right values.
. If filter is changed, the model of this control must be reset.

* Unify various variable editor windows.  (#5163)

* remame labelModel to columnModel

* progress

* fixes

* Some fixes

. Delete several columns/rows does not work correctly
. Change name/description of variable does not work if the chosen column is changed.
. Set the right icons for close/help in the Filter window
. Add a notification when the user goes to Data Editing mode.

* Remove jfa hack

* Update submodules

* Remove selected column crash

* Multibridge ARM64 MacOS fixes (#5169)

* MacARM changes for multibridge

* forgot Mac ARM multibridge change

* another change for multibridge

* Avoid crash when closing a workspace

* Wrong link to gfortran libraries with Mac Intel

The Matrix package is set a first time in the R Framework when installing R, and then the links to the gfortran libraries are OK.
But when installing jaspBase, as it needs a higher version of Matrix (1.6 instead of 1.5), then it loads again the Matrix package, but this time the links to the gfortran libraries are wrong on Mac Intel (on Mac ARM there are OK). So we need to explicitly set the right links

* A Data File from the Data Library should be read only, and synchronisation should be off

* Change version to 0.18.0

* Changes for buildbot (#5174)

* Update BuildBotScript.sh

* Be robuster when reading JASP file

Fixes jasp-stats/jasp-test-release#2338

In the Viagra JASP file, there was a reference to 'orgStringValues' with values that do not correspond to any labels... Just skip it.

* Update BuildBotScript.sh

* Update BuildBotScript.sh

* Update BuildBotScript.sh

* updated translation files

* Prevent crash

* Update BuildBotScript.sh

* Update BuildBotScript.cmd

* Update Upload.sh.in

* Translations update from Hosted Weblate (#5180)

* Translated using Weblate (German)

Currently translated at 99.7% (974 of 976 strings)

Translation: JASP/jaspDesktop
Translate-URL: https://hosted.weblate.org/projects/jasp/jaspdesktop/de/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (976 of 976 strings)

Translation: JASP/jaspDesktop
Translate-URL: https://hosted.weblate.org/projects/jasp/jaspdesktop/es/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 97.6% (953 of 976 strings)

Translation: JASP/jaspDesktop
Translate-URL: https://hosted.weblate.org/projects/jasp/jaspdesktop/zh_Hans/

* Translated using Weblate (Galician)

Currently translated at 100.0% (976 of 976 strings)

Translation: JASP/jaspDesktop
Translate-URL: https://hosted.weblate.org/projects/jasp/jaspdesktop/gl/

---------

Co-authored-by: Johannes Keyser <joke@fsfe.org>
Co-authored-by: ecadrian <ecadrian@hotmail.com>
Co-authored-by: Shun Wang <shuonwang@gmail.com>

* updated translation files

* mistake in multibridge fix (#5182)

* More reasonable instructions (#5179)

* ENH: Data edtior Enter/Return key jump to next row (#5181)

* fix remove in Computed column window bug (#5183)

* Reloading/resizing plot issue (#5178)

See jasp-stats/jasp-test-release#2339

This does not fix it. But the commented code seems to me double...

* Update Database.md

* Translated using Weblate (Chinese (Simplified)) (#5185)

Currently translated at 98.8% (965 of 976 strings)

Translation: JASP/jaspDesktop
Translate-URL: https://hosted.weblate.org/projects/jasp/jaspdesktop/zh_Hans/

Co-authored-by: Shun Wang <shuonwang@gmail.com>

* Fixes jasp-stats/jasp-issues#1655

Better in the model than in QML

* Tweaks for flatpak automation (#5192)

Tweaks

* Fix flatpak mime type on Linux (#5191)

* Add MIME type and file extension for Linux flatpak

* Fix to mime type icon

* Update org.jaspstats.JASP.desktop

* editImg, saveImg and rewriteImgs should always have their module loaded, so no utility run. (#5193)

I dont know why I originally thought they didnt need it?
Fixes jasp-stats/jasp-test-release#2347 by avoiding the warning caused by not having jaspDescriptives

* Fixes filtering sources on type (#5194)

* ribbon separator pretty and visible, except for in modules-menu-sidebar
also use nonwarningcatchingstate retrieval

* Ctrl/Cmd+Y also redoes

canUndo and canRedo didnt exist and also: `if(!canRedo) redo()` is weird so I removed em

* Remove dumb trace line

* Fix background color of variables window (#5198)

* Undo and redo buttons should be toplevel and only show up when necessary anyway (#5195)

* Dont put empty value label as oldValue as it messes up the columntypes real weird
fixes jasp-stats/jasp-test-release#2351

* reset labels upon scalar cast

* Fixes column type change not being emitted on edit (#5197)

* More reasonable instructions 2 (#5200)

* Double click for variableswindow/column (#5201)

* As suggested in jasp-stats/jasp-test-release#2343 and for jasp-stats/jasp-test-release#2356

* dont enter edit mode if selecting a bunch of cells with shift

* dont paste empty-value-label, also dont consider an entry

* Fixes for R-console ribbonbutton (#5202)

* ok then we do not reuse the left-border but just add a separatorrectangle

* make R button rememberable again and remove a js/qml warning

* Feat: make LaTeX formula editable

* Would be nice to easily see which version of JASP made the jasp file wouldnt it?

* updated translation files

* rebase error

---------

Co-authored-by: vandenman <donvdbergh@hotmail.com>
Co-authored-by: Joris Goosen <Joris@JorisGoosen.nl>
Co-authored-by: boutinb <b.boutin@uva.nl>
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Weblate (bot) <hosted@weblate.org>
Co-authored-by: Johannes Keyser <joke@fsfe.org>
Co-authored-by: ecadrian <ecadrian@hotmail.com>
Co-authored-by: Shun Wang <shuonwang@gmail.com>
JorisGoosen pushed a commit that referenced this pull request Aug 30, 2023
boutinb pushed a commit that referenced this pull request Aug 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant