Giter Club home page Giter Club logo

rqda's People

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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

rqda's Issues

Gtk-Warning whilst running.

Whilst running from R-Studio on OSX I get the odd warning in the console, that should probably not be there. There is no apparent visual defect in the RQDA window.

Sample errors (get many blue, less underline and only a few gold):

(R:58961): Gtk-WARNING **: 22:02:14.015: Unknown tag `blue'
(R:58961): Gtk-WARNING **: 22:02:14.106: Unknown tag `gold.background'
(R:58961): Gtk-WARNING **: 22:02:14.106: Unknown tag `underline'

Configuration is OSX 10.14.2, RStudio 1.1.463, R 3.5.2, gtk 2.10.0, not using X11

Error with RQDA download on W10

Hi everyone.
I have had a particular error, I still cannot find the solution, and it concerns the installation of RQDA in R that has been installed in the Windows 10 OS, I have read in several forums and this problem is a bit recent (2019 - today ), several indicate some types of solutions but none have worked for me.

with:

devtools :: install_github ("RQDA / RQDA", force = TRUE, INSTALL_opts = "- no-multiarch")

or:

devtools :: install_github ("RQDA / RQDA", INSTALL_opts = "- no-multiarch")

is obtained:

Downloading GitHub repo RQDA / RQDA @ HEAD
Error: Failed to install 'RQDA' from GitHub:
   create process 'C: /PROGRA~1/R/R-41~1.1/bin/x64/Rcmd.exe' (system error 267, Invalid directory name.
) @ win / processx.c: 1040 (processx_exec)
Warning message:
1 components of `...` were not used.

We detected these problematic arguments:
* `INSTALL_opts`

Did you misspecify an argument?

Do you have any information to avoid that mistake?

Linking cases to portions of text

Thanks for your work. I am trying to create cases from within one source (different cases in the same source) but the cases are not saved, and the highlighting disappears as soon as I try to link another portion of text to a different case. I am running RQDA in Windows 10.

Error messages in Coding_Buttons.R inconsistent

One failure handling of writes to the underlying database give a message "Fail to write to data base" but whereas others are "Fail to write to database".

The single occurrence should be made consistent with the others and the corresponding translations removed.

Unable to add code to category

Adding a code to some category yields an error: Error: Columns row_names not found. Is there something I can do to fix this?

addFilesFromDir() imports only the first line of each file

When I run addFilesFromDir("/path/to/txt_files") I get the warning:

There were 50 or more warnings (use warnings() to see the first 50)

The warnings are all the same:

In if (Encoding(content) != "UTF-8") { ... :
the condition has length > 1 and only the first element will be used

And only the first line of each file is imported.

I successfully imported the files with the commands:

setwd("/path/to/txt_files")
Files <- dir()
for(f in Files) RQDA:::ImportFile(f)
RQDA:::FileNamesUpdate()

I am using R 3.3.2 on Linux (Ubuntu 16.10).

Error when Recoding

Using RQDA_0.3-1, I get an error when clicking the Recode button.

Steps to reproduce:

  1. Open RQDA project
  2. Navigate to Codes tab
  3. Double-click on a code (e.g., positive_sentiment) to view text segments with this code
  4. Select a different code (e.g., positive_sentiment_purchase)
  5. Click Recode for a given text segment

Expected behavior: The text segment's positive_sentiment code should be replaced with the positive_sentiment_purchase code.

Existing behavior: A "Cannot recode this text segment" error dialog appears. The positive_sentiment_purchase code is added to the text segment, but the positive_sentiment code is not removed.
Screen Shot 2019-08-08 at 1 37 52 PM

Workaround: Click the Unmark button after clicking the Recode button to remove the original code for the text segment.

font size is very small

Dear Ronggui,

I am having issues with seeing the text from files and the launch GUI. Can you help? I can barely see anything for coding. Much thanks!

Mario

screen shot 2018-08-23 at 6 34 33 am

Urgent RQDA development

Good afternoon Ronggui Huang, I hope you are well, I need help to do an urgent development within the RQDA software package, a function called merge projects, I wish we can meet in a meeting and be able to talk about it, or if you give me an email, As soon as possible, I appreciate it. I am very attentive in this regard.

R version 4?

Just curios if there are plans to make RQDA run on version 4 of R?

RQDA is not translated

@Ronggui If you want, I can wrap the strings that are visible to users with gettext(), and create a po/ directory with both a Makefile and the Portuguese translations (R-pt_BR.po). Typing make in a terminal emulator would be enough to update the .po files and, if they are updated, to install then in the inst/po/Lang/LC_MESSAGES directory. That is, the strings would appear translated to users. Then, adding new languages would be just a matter of listing the R-Lang.po file in the Makefile and actually creating the file.

fail to write to database again, how to install RSQ Lite 1.0.0 on R version 3.2.3 ?

hello,
I have R version 3.2.3, rqda version 0.2-8 and RSQLite 1.1-2.

each time I want to mark some text with rqda, it says "fail to write to database".
here : https://github.com/Ronggui/RQDA/wiki/Note-on-%22Fail-to-write-to-database%22-%7C-RQDA,
I read that I had to install RSQ Lite 1.0.0.

so I tried,
but then I got this answer on the rstudio console :

install.packages("Archive/RSQLite/RSQLite_1.0.0.tar.gz")
Installing package into ‘/home/veronique/R/x86_64-pc-linux-gnu-library/3.2’
(as ‘lib’ is unspecified)
Warning in install.packages :
package ‘Archive/RSQLite/RSQLite_1.0.0.tar.gz’ is not available (for R version 3.2.3, on the r console.

could you please help me ? Thanks a lot :)

Improve usability: remove the OK button of Settings tab

When the access to the parent window is blocked until the client window is closed, it is impossible to continue working in the parent window unless we click in either an "OK" or a "Cancel" button. However, this is not the case of the Settings widget, and I frequently forget to press the OK button after changing the Type of Retrieval. So, I suggest that the OK button is removed and that user changes take effect immediately. The diff below shows a way of achieving this:

diff --git a/R/Setting.R b/R/Setting.R
index 5f0568d..113a26c 100644
--- a/R/Setting.R
+++ b/R/Setting.R
@@ -67,13 +67,22 @@ addSettingGUI <- function(container,width=12){
   ButtonContainer <- ggroup(container = container) ##, width=100) ## not necessary to set width here
   addSpring(ButtonContainer)
   resetButton <- gbutton("Default", container = ButtonContainer)
-  okButton <- gbutton("OK", container = ButtonContainer)
 
-  addHandlerChanged(okButton, function(h,...) {
+  GetSettings <- function(...){
     out <- svalue(SettingFL)
     tryCatch(ClearMark(.rqda$.root_edit,0,nchar(svalue(.rqda$.openfile_gui)),TRUE,TRUE),error=function(e){})
     for (i in names(out)) assign(i,out[[i]],envir=.rqda)
-  })
+  }
+
+  addHandlerKeystroke(SettingFL[]$encoding, GetSettings)
+  addHandlerKeystroke(SettingFL[]$owner, GetSettings)
+  addHandlerChanged(SettingFL[]$BOM, GetSettings)
+  addHandlerChanged(SettingFL[]$SFP, GetSettings)
+  addHandlerChanged(SettingFL[]$encoding, GetSettings)
+  addHandlerChanged(SettingFL[]$back.col, GetSettings)
+  addHandlerChanged(SettingFL[]$fore.col, GetSettings)
+  addHandlerChanged(SettingFL[]$codingTable, GetSettings)
+  addHandlerChanged(SettingFL[]$TOR, GetSettings)
 
   addHandlerChanged(resetButton, function(h,...) {
     tryCatch(ClearMark(.rqda$.root_edit,0,nchar(svalue(.rqda$.openfile_gui)),TRUE,TRUE),error=function(e){})

Warning when calling dbGetQuery()

The following warning is being displayed sometimes:

In rsqlite_fetch(res@ptr, n = n):
Don't need to call dbFetch() for statements, only for queries

According to DBI documentation, dbGetQuery() should be called only for SELECT queries. Users should call dbExecute() for other statements.

NOT IN CRAN

Hi buddies: I am writing you because your package IS NOT in CRAN. What about this? When you come back?
Cheers!

Some of the background colors of codes are too dark

Of course different people see colors differently. The computer screen also makes a big difference. Anyway, at least for me and in my notebook, the background colors of some codes are too dark, and I can't read these codes. Jus as a suggestion, the following palette (defined in the file R/utils.R) works better for me than the current one:

DefaultCodeColor <- sub("FF$", "", rainbow(11, s = 0.3)[c(1, 4, 7, 10, 2, 5, 8, 11, 3, 6, 9)])

trouble with PLOTTING in RQDA and GGplot2

Hello,

I need some big help. I have struggled a lot installing RQDA package on my Mac OS Catalina, but finally I installed old version of R (3.6.3) and old RQDA (0.2-2) because I couldn't install new version of RQDA on my Mac (it aborted and showed fatal errors every time I run the command 'library(RQDA)'

Right now my problem is the following:

  1. when I try to plot code categories in RQDA - it closes immediately, an in Rstudio a sign pops out "R session aborted. R encountered a fatal error. The session was terminated"

  2. when I launch the ggplot2 and command
    p1 <- ggplot(text.df)

and then when I run

p1

the same thing is happening. R is somehow cannot plot complex things. I tried plot(text.df), it worked perfectly.

Please help, I need to submit the work and I am stuck @jalvesaq @Ronggui

cannot launch RQDA in R

Hi.
I cannot launch RQDA from the R console. Below is the traceback error I get:

R=> library(RQDA)
Loading required package: RSQLite
Loading required package: gWidgetsRGtk2
Loading required package: RGtk2
Loading required package: gWidgets
Loading required package: cairoDevice
Loading required package: DBI

Use 'RQDA()' to start the programme.


 *** caught segfault ***
address 0x0, cause 'memory not mapped'

Traceback:
 1: .RGtkCall("S_gtk_tree_store_set_value", object, iter, column,     value, PACKAGE = "RGtk2")
 2: method(obj, ...)
 3: store$SetValue(iter$iter, column = 0, items[j, 1])
 4: `.leftBracket<-`(`*tmp*`, x@toolkit, i, j, ..., value = value)
 5: `.leftBracket<-`(`*tmp*`, x@toolkit, i, j, ..., value = value)
 6: `[<-`(`*tmp*`, , value = list(items = c("blue", "white", "aliceblue", "antiquewhite", "antiquewhite1", "antiquewhite2", "antiquewhite3", "antiquewhite4", "aquamarine", "aquamarine1", "aquamarine2", "aquamarine3", "aquamarine4", "azure", "azure1", "azure2", "azure3", "azure4", "beige", "bisque", "bisque1", "bisque2", "bisque3", "bisque4", "black", "blanchedalmond", "blue", "blue1", "blue2", "blue3", "blue4", "blueviolet", "brown", "brown1", "brown2", "brown3", "brown4", "burlywood", "burlywood1", "burlywood2", "burlywood3", "burlywood4", "cadetblue", "cadetblue1", "cadetblue2", "cadetblue3", "cadetblue4", "chartreuse", "chartreuse1", "chartreuse2", "chartreuse3", "chartreuse4", "chocolate", "chocolate1", "chocolate2", "chocolate3", "chocolate4", "coral", "coral1", "coral2", "coral3", "coral4", "cornflowerblue", "cornsilk", "cornsilk1", "cornsilk2", "cornsilk3", "cornsilk4", "cyan", "cyan1", "cyan2", "cyan3", "cyan4", "darkblue", "darkcyan", "darkgoldenrod", "darkgoldenrod1", "darkgoldenrod2", "darkgoldenrod3", "darkgoldenrod4", "darkgray", "darkgreen", "darkgrey", "darkkhaki", "darkmagenta", "darkolivegreen", "darkolivegreen1", "darkolivegreen2", "darkolivegreen3", "darkolivegreen4", "darkorange", "darkorange1", "darkorange2", "darkorange3", "darkorange4", "darkorchid", "darkorchid1", "darkorchid2", "darkorchid3", "darkorchid4", "darkred", "darksalmon", "darkseagreen", "darkseagreen1", "darkseagreen2", "darkseagreen3", "darkseagreen4", "darkslateblue", "darkslategray", "darkslategray1", "darkslategray2", "darkslategray3", "darkslategray4", "darkslategrey", "darkturquoise", "darkviolet", "deeppink", "deeppink1", "deeppink2", "deeppink3", "deeppink4", "deepskyblue", "deepskyblue1", "deepskyblue2", "deepskyblue3", "deepskyblue4", "dimgray", "dimgrey", "dodgerblue", "dodgerblue1", "dodgerblue2", "dodgerblue3", "dodgerblue4", "firebrick", "firebrick1", "firebrick2", "firebrick3", "firebrick4", "floralwhite", "forestgreen", "gainsboro", "ghostwhite", "gold", "gold1", "gold2", "gold3", "gold4", "goldenrod", "goldenrod1", "goldenrod2", "goldenrod3", "goldenrod4", "gray", "gray0", "gray1", "gray2", "gray3", "gray4", "gray5", "gray6", "gray7", "gray8", "gray9", "gray10", "gray11", "gray12", "gray13", "gray14", "gray15", "gray16", "gray17", "gray18", "gray19", "gray20", "gray21", "gray22", "gray23", "gray24", "gray25", "gray26", "gray27", "gray28", "gray29", "gray30", "gray31", "gray32", "gray33", "gray34", "gray35", "gray36", "gray37", "gray38", "gray39", "gray40", "gray41", "gray42", "gray43", "gray44", "gray45", "gray46", "gray47", "gray48", "gray49", "gray50", "gray51", "gray52", "gray53", "gray54", "gray55", "gray56", "gray57", "gray58", "gray59", "gray60", "gray61", "gray62", "gray63", "gray64", "gray65", "gray66", "gray67", "gray68", "gray69", "gray70", "gray71", "gray72", "gray73", "gray74", "gray75", "gray76", "gray77", "gray78", "gray79", "gray80", "gray81", "gray82", "gray83", "gray84", "gray85", "gray86", "gray87", "gray88", "gray89", "gray90", "gray91", "gray92", "gray93", "gray94", "gray95", "gray96", "gray97", "gray98", "gray99", "gray100", "green", "green1", "green2", "green3", "green4", "greenyellow", "grey", "grey0", "grey1", "grey2", "grey3", "grey4", "grey5", "grey6", "grey7", "grey8", "grey9", "grey10", "grey11", "grey12", "grey13", "grey14", "grey15", "grey16", "grey17", "grey18", "grey19", "grey20", "grey21", "grey22", "grey23", "grey24", "grey25", "grey26", "grey27", "grey28", "grey29", "grey30", "grey31", "grey32", "grey33", "grey34", "grey35", "grey36", "grey37", "grey38", "grey39", "grey40", "grey41", "grey42", "grey43", "grey44", "grey45", "grey46", "grey47", "grey48", "grey49", "grey50", "grey51", "grey52", "grey53", "grey54", "grey55", "grey56", "grey57", "grey58", "grey59", "grey60", "grey61", "grey62", "grey63", "grey64", "grey65", "grey66", "grey67", "grey68", "grey69", "grey70", "grey71", "grey72", "grey73", "grey74", "grey75", "grey76", "grey77", "grey78", "grey79", "grey80", "grey81", "grey82", "grey83", "grey84", "grey85", "grey86", "grey87", "grey88", "grey89", "grey90", "grey91", "grey92", "grey93", "grey94", "grey95", "grey96", "grey97", "grey98", "grey99", "grey100", "honeydew", "honeydew1", "honeydew2", "honeydew3", "honeydew4", "hotpink", "hotpink1", "hotpink2", "hotpink3", "hotpink4", "indianred", "indianred1", "indianred2", "indianred3", "indianred4", "ivory", "ivory1", "ivory2", "ivory3", "ivory4", "khaki", "khaki1", "khaki2", "khaki3", "khaki4", "lavender", "lavenderblush", "lavenderblush1", "lavenderblush2", "lavenderblush3", "lavenderblush4", "lawngreen", "lemonchiffon", "lemonchiffon1", "lemonchiffon2", "lemonchiffon3", "lemonchiffon4", "lightblue", "lightblue1", "lightblue2", "lightblue3", "lightblue4", "lightcoral", "lightcyan", "lightcyan1", "lightcyan2", "lightcyan3", "lightcyan4", "lightgoldenrod", "lightgoldenrod1", "lightgoldenrod2", "lightgoldenrod3", "lightgoldenrod4", "lightgoldenrodyellow", "lightgray", "lightgreen", "lightgrey", "lightpink", "lightpink1", "lightpink2", "lightpink3", "lightpink4", "lightsalmon", "lightsalmon1", "lightsalmon2", "lightsalmon3", "lightsalmon4", "lightseagreen", "lightskyblue", "lightskyblue1", "lightskyblue2", "lightskyblue3", "lightskyblue4", "lightslateblue", "lightslategray", "lightslategrey", "lightsteelblue", "lightsteelblue1", "lightsteelblue2", "lightsteelblue3", "lightsteelblue4", "lightyellow", "lightyellow1", "lightyellow2", "lightyellow3", "lightyellow4", "limegreen", "linen", "magenta", "magenta1", "magenta2", "magenta3", "magenta4", "maroon", "maroon1", "maroon2", "maroon3", "maroon4", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumorchid1", "mediumorchid2", "mediumorchid3", "mediumorchid4", "mediumpurple", "mediumpurple1", "mediumpurple2", "mediumpurple3", "mediumpurple4", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "mistyrose1", "mistyrose2", "mistyrose3", "mistyrose4", "moccasin", "navajowhite", "navajowhite1", "navajowhite2", "navajowhite3", "navajowhite4", "navy", "navyblue", "oldlace", "olivedrab", "olivedrab1", "olivedrab2", "olivedrab3", "olivedrab4", "orange", "orange1", "orange2", "orange3", "orange4", "orangered", "orangered1", "orangered2", "orangered3", "orangered4", "orchid", "orchid1", "orchid2", "orchid3", "orchid4", "palegoldenrod", "palegreen", "palegreen1", "palegreen2", "palegreen3", "palegreen4", "paleturquoise", "paleturquoise1", "paleturquoise2", "paleturquoise3", "paleturquoise4", "palevioletred", "palevioletred1", "palevioletred2", "palevioletred3", "palevioletred4", "papayawhip", "peachpuff", "peachpuff1", "peachpuff2", "peachpuff3", "peachpuff4", "peru", "pink", "pink1", "pink2", "pink3", "pink4", "plum", "plum1", "plum2", "plum3", "plum4", "powderblue", "purple", "purple1", "purple2", "purple3", "purple4", "red", "red1", "red2", "red3", "red4", "rosybrown", "rosybrown1", "rosybrown2", "rosybrown3", "rosybrown4", "royalblue", "royalblue1", "royalblue2", "royalblue3", "royalblue4", "saddlebrown", "salmon", "salmon1", "salmon2", "salmon3", "salmon4", "sandybrown", "seagreen", "seagreen1", "seagreen2", "seagreen3", "seagreen4", "seashell", "seashell1", "seashell2", "seashell3", "seashell4", "sienna", "sienna1", "sienna2", "sienna3", "sienna4", "skyblue", "skyblue1", "skyblue2", "skyblue3", "skyblue4", "slateblue", "slateblue1", "slateblue2", "slateblue3", "slateblue4", "slategray", "slategray1", "slategray2", "slategray3", "slategray4", "slategrey", "snow", "snow1", "snow2", "snow3", "snow4", "springgreen", "springgreen1", "springgreen2", "springgreen3", "springgreen4", "steelblue", "steelblue1", "steelblue2", "steelblue3", "steelblue4", "tan", "tan1", "tan2", "tan3", "tan4", "thistle", "thistle1", "thistle2", "thistle3", "thistle4", "tomato", "tomato1", "tomato2", "tomato3", "tomato4", "turquoise", "turquoise1", "turquoise2", "turquoise3", "turquoise4", "violet", "violetred", "violetred1", "violetred2", "violetred3", "violetred4", "wheat", "wheat1", "wheat2", "wheat3", "wheat4", "whitesmoke", "yellow", "yellow1", "yellow2", "yellow3", "yellow4", "yellowgreen")))
 7: `[<-`(`*tmp*`, , value = list(items = c("blue", "white", "aliceblue", "antiquewhite", "antiquewhite1", "antiquewhite2", "antiquewhite3", "antiquewhite4", "aquamarine", "aquamarine1", "aquamarine2", "aquamarine3", "aquamarine4", "azure", "azure1", "azure2", "azure3", "azure4", "beige", "bisque", "bisque1", "bisque2", "bisque3", "bisque4", "black", "blanchedalmond", "blue", "blue1", "blue2", "blue3", "blue4", "blueviolet", "brown", "brown1", "brown2", "brown3", "brown4", "burlywood", "burlywood1", "burlywood2", "burlywood3", "burlywood4", "cadetblue", "cadetblue1", "cadetblue2", "cadetblue3", "cadetblue4", "chartreuse", "chartreuse1", "chartreuse2", "chartreuse3", "chartreuse4", "chocolate", "chocolate1", "chocolate2", "chocolate3", "chocolate4", "coral", "coral1", "coral2", "coral3", "coral4", "cornflowerblue", "cornsilk", "cornsilk1", "cornsilk2", "cornsilk3", "cornsilk4", "cyan", "cyan1", "cyan2", "cyan3", "cyan4", "darkblue", "darkcyan", "darkgoldenrod", "darkgoldenrod1", "darkgoldenrod2", "darkgoldenrod3", "darkgoldenrod4", "darkgray", "darkgreen", "darkgrey", "darkkhaki", "darkmagenta", "darkolivegreen", "darkolivegreen1", "darkolivegreen2", "darkolivegreen3", "darkolivegreen4", "darkorange", "darkorange1", "darkorange2", "darkorange3", "darkorange4", "darkorchid", "darkorchid1", "darkorchid2", "darkorchid3", "darkorchid4", "darkred", "darksalmon", "darkseagreen", "darkseagreen1", "darkseagreen2", "darkseagreen3", "darkseagreen4", "darkslateblue", "darkslategray", "darkslategray1", "darkslategray2", "darkslategray3", "darkslategray4", "darkslategrey", "darkturquoise", "darkviolet", "deeppink", "deeppink1", "deeppink2", "deeppink3", "deeppink4", "deepskyblue", "deepskyblue1", "deepskyblue2", "deepskyblue3", "deepskyblue4", "dimgray", "dimgrey", "dodgerblue", "dodgerblue1", "dodgerblue2", "dodgerblue3", "dodgerblue4", "firebrick", "firebrick1", "firebrick2", "firebrick3", "firebrick4", "floralwhite", "forestgreen", "gainsboro", "ghostwhite", "gold", "gold1", "gold2", "gold3", "gold4", "goldenrod", "goldenrod1", "goldenrod2", "goldenrod3", "goldenrod4", "gray", "gray0", "gray1", "gray2", "gray3", "gray4", "gray5", "gray6", "gray7", "gray8", "gray9", "gray10", "gray11", "gray12", "gray13", "gray14", "gray15", "gray16", "gray17", "gray18", "gray19", "gray20", "gray21", "gray22", "gray23", "gray24", "gray25", "gray26", "gray27", "gray28", "gray29", "gray30", "gray31", "gray32", "gray33", "gray34", "gray35", "gray36", "gray37", "gray38", "gray39", "gray40", "gray41", "gray42", "gray43", "gray44", "gray45", "gray46", "gray47", "gray48", "gray49", "gray50", "gray51", "gray52", "gray53", "gray54", "gray55", "gray56", "gray57", "gray58", "gray59", "gray60", "gray61", "gray62", "gray63", "gray64", "gray65", "gray66", "gray67", "gray68", "gray69", "gray70", "gray71", "gray72", "gray73", "gray74", "gray75", "gray76", "gray77", "gray78", "gray79", "gray80", "gray81", "gray82", "gray83", "gray84", "gray85", "gray86", "gray87", "gray88", "gray89", "gray90", "gray91", "gray92", "gray93", "gray94", "gray95", "gray96", "gray97", "gray98", "gray99", "gray100", "green", "green1", "green2", "green3", "green4", "greenyellow", "grey", "grey0", "grey1", "grey2", "grey3", "grey4", "grey5", "grey6", "grey7", "grey8", "grey9", "grey10", "grey11", "grey12", "grey13", "grey14", "grey15", "grey16", "grey17", "grey18", "grey19", "grey20", "grey21", "grey22", "grey23", "grey24", "grey25", "grey26", "grey27", "grey28", "grey29", "grey30", "grey31", "grey32", "grey33", "grey34", "grey35", "grey36", "grey37", "grey38", "grey39", "grey40", "grey41", "grey42", "grey43", "grey44", "grey45", "grey46", "grey47", "grey48", "grey49", "grey50", "grey51", "grey52", "grey53", "grey54", "grey55", "grey56", "grey57", "grey58", "grey59", "grey60", "grey61", "grey62", "grey63", "grey64", "grey65", "grey66", "grey67", "grey68", "grey69", "grey70", "grey71", "grey72", "grey73", "grey74", "grey75", "grey76", "grey77", "grey78", "grey79", "grey80", "grey81", "grey82", "grey83", "grey84", "grey85", "grey86", "grey87", "grey88", "grey89", "grey90", "grey91", "grey92", "grey93", "grey94", "grey95", "grey96", "grey97", "grey98", "grey99", "grey100", "honeydew", "honeydew1", "honeydew2", "honeydew3", "honeydew4", "hotpink", "hotpink1", "hotpink2", "hotpink3", "hotpink4", "indianred", "indianred1", "indianred2", "indianred3", "indianred4", "ivory", "ivory1", "ivory2", "ivory3", "ivory4", "khaki", "khaki1", "khaki2", "khaki3", "khaki4", "lavender", "lavenderblush", "lavenderblush1", "lavenderblush2", "lavenderblush3", "lavenderblush4", "lawngreen", "lemonchiffon", "lemonchiffon1", "lemonchiffon2", "lemonchiffon3", "lemonchiffon4", "lightblue", "lightblue1", "lightblue2", "lightblue3", "lightblue4", "lightcoral", "lightcyan", "lightcyan1", "lightcyan2", "lightcyan3", "lightcyan4", "lightgoldenrod", "lightgoldenrod1", "lightgoldenrod2", "lightgoldenrod3", "lightgoldenrod4", "lightgoldenrodyellow", "lightgray", "lightgreen", "lightgrey", "lightpink", "lightpink1", "lightpink2", "lightpink3", "lightpink4", "lightsalmon", "lightsalmon1", "lightsalmon2", "lightsalmon3", "lightsalmon4", "lightseagreen", "lightskyblue", "lightskyblue1", "lightskyblue2", "lightskyblue3", "lightskyblue4", "lightslateblue", "lightslategray", "lightslategrey", "lightsteelblue", "lightsteelblue1", "lightsteelblue2", "lightsteelblue3", "lightsteelblue4", "lightyellow", "lightyellow1", "lightyellow2", "lightyellow3", "lightyellow4", "limegreen", "linen", "magenta", "magenta1", "magenta2", "magenta3", "magenta4", "maroon", "maroon1", "maroon2", "maroon3", "maroon4", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumorchid1", "mediumorchid2", "mediumorchid3", "mediumorchid4", "mediumpurple", "mediumpurple1", "mediumpurple2", "mediumpurple3", "mediumpurple4", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "mistyrose1", "mistyrose2", "mistyrose3", "mistyrose4", "moccasin", "navajowhite", "navajowhite1", "navajowhite2", "navajowhite3", "navajowhite4", "navy", "navyblue", "oldlace", "olivedrab", "olivedrab1", "olivedrab2", "olivedrab3", "olivedrab4", "orange", "orange1", "orange2", "orange3", "orange4", "orangered", "orangered1", "orangered2", "orangered3", "orangered4", "orchid", "orchid1", "orchid2", "orchid3", "orchid4", "palegoldenrod", "palegreen", "palegreen1", "palegreen2", "palegreen3", "palegreen4", "paleturquoise", "paleturquoise1", "paleturquoise2", "paleturquoise3", "paleturquoise4", "palevioletred", "palevioletred1", "palevioletred2", "palevioletred3", "palevioletred4", "papayawhip", "peachpuff", "peachpuff1", "peachpuff2", "peachpuff3", "peachpuff4", "peru", "pink", "pink1", "pink2", "pink3", "pink4", "plum", "plum1", "plum2", "plum3", "plum4", "powderblue", "purple", "purple1", "purple2", "purple3", "purple4", "red", "red1", "red2", "red3", "red4", "rosybrown", "rosybrown1", "rosybrown2", "rosybrown3", "rosybrown4", "royalblue", "royalblue1", "royalblue2", "royalblue3", "royalblue4", "saddlebrown", "salmon", "salmon1", "salmon2", "salmon3", "salmon4", "sandybrown", "seagreen", "seagreen1", "seagreen2", "seagreen3", "seagreen4", "seashell", "seashell1", "seashell2", "seashell3", "seashell4", "sienna", "sienna1", "sienna2", "sienna3", "sienna4", "skyblue", "skyblue1", "skyblue2", "skyblue3", "skyblue4", "slateblue", "slateblue1", "slateblue2", "slateblue3", "slateblue4", "slategray", "slategray1", "slategray2", "slategray3", "slategray4", "slategrey", "snow", "snow1", "snow2", "snow3", "snow4", "springgreen", "springgreen1", "springgreen2", "springgreen3", "springgreen4", "steelblue", "steelblue1", "steelblue2", "steelblue3", "steelblue4", "tan", "tan1", "tan2", "tan3", "tan4", "thistle", "thistle1", "thistle2", "thistle3", "thistle4", "tomato", "tomato1", "tomato2", "tomato3", "tomato4", "turquoise", "turquoise1", "turquoise2", "turquoise3", "turquoise4", "violet", "violetred", "violetred1", "violetred2", "violetred3", "violetred4", "wheat", "wheat1", "wheat2", "wheat3", "wheat4", "whitesmoke", "yellow", "yellow1", "yellow2", "yellow3", "yellow4", "yellowgreen")))
 8: .gdroplist(toolkit, items = items, selected = selected, editable = editable,     coerce.with = coerce.with, handler = handler, action = action,     container = container, ...)
 9: .gdroplist(toolkit, items = items, selected = selected, editable = editable,     coerce.with = coerce.with, handler = handler, action = action,     container = container, ...)
10: gcombobox(items = c("blue", "white", "aliceblue", "antiquewhite", "antiquewhite1", "antiquewhite2", "antiquewhite3", "antiquewhite4", "aquamarine", "aquamarine1", "aquamarine2", "aquamarine3", "aquamarine4", "azure", "azure1", "azure2", "azure3", "azure4", "beige", "bisque", "bisque1", "bisque2", "bisque3", "bisque4", "black", "blanchedalmond", "blue", "blue1", "blue2", "blue3", "blue4", "blueviolet", "brown", "brown1", "brown2", "brown3", "brown4", "burlywood", "burlywood1", "burlywood2", "burlywood3", "burlywood4", "cadetblue", "cadetblue1", "cadetblue2", "cadetblue3", "cadetblue4", "chartreuse", "chartreuse1", "chartreuse2", "chartreuse3", "chartreuse4", "chocolate", "chocolate1", "chocolate2", "chocolate3", "chocolate4", "coral", "coral1", "coral2", "coral3", "coral4", "cornflowerblue", "cornsilk", "cornsilk1", "cornsilk2", "cornsilk3", "cornsilk4", "cyan", "cyan1", "cyan2", "cyan3", "cyan4", "darkblue", "darkcyan", "darkgoldenrod", "darkgoldenrod1", "darkgoldenrod2", "darkgoldenrod3", "darkgoldenrod4", "darkgray", "darkgreen", "darkgrey", "darkkhaki", "darkmagenta", "darkolivegreen", "darkolivegreen1", "darkolivegreen2", "darkolivegreen3", "darkolivegreen4", "darkorange", "darkorange1", "darkorange2", "darkorange3", "darkorange4", "darkorchid", "darkorchid1", "darkorchid2", "darkorchid3", "darkorchid4", "darkred", "darksalmon", "darkseagreen", "darkseagreen1", "darkseagreen2", "darkseagreen3", "darkseagreen4", "darkslateblue", "darkslategray", "darkslategray1", "darkslategray2", "darkslategray3", "darkslategray4", "darkslategrey", "darkturquoise", "darkviolet", "deeppink", "deeppink1", "deeppink2", "deeppink3", "deeppink4", "deepskyblue", "deepskyblue1", "deepskyblue2", "deepskyblue3", "deepskyblue4", "dimgray", "dimgrey", "dodgerblue", "dodgerblue1", "dodgerblue2", "dodgerblue3", "dodgerblue4", "firebrick", "firebrick1", "firebrick2", "firebrick3", "firebrick4", "floralwhite", "forestgreen", "gainsboro", "ghostwhite", "gold", "gold1", "gold2", "gold3", "gold4", "goldenrod", "goldenrod1", "goldenrod2", "goldenrod3", "goldenrod4", "gray", "gray0", "gray1", "gray2", "gray3", "gray4", "gray5", "gray6", "gray7", "gray8", "gray9", "gray10", "gray11", "gray12", "gray13", "gray14", "gray15", "gray16", "gray17", "gray18", "gray19", "gray20", "gray21", "gray22", "gray23", "gray24", "gray25", "gray26", "gray27", "gray28", "gray29", "gray30", "gray31", "gray32", "gray33", "gray34", "gray35", "gray36", "gray37", "gray38", "gray39", "gray40", "gray41", "gray42", "gray43", "gray44", "gray45", "gray46", "gray47", "gray48", "gray49", "gray50", "gray51", "gray52", "gray53", "gray54", "gray55", "gray56", "gray57", "gray58", "gray59", "gray60", "gray61", "gray62", "gray63", "gray64", "gray65", "gray66", "gray67", "gray68", "gray69", "gray70", "gray71", "gray72", "gray73", "gray74", "gray75", "gray76", "gray77", "gray78", "gray79", "gray80", "gray81", "gray82", "gray83", "gray84", "gray85", "gray86", "gray87", "gray88", "gray89", "gray90", "gray91", "gray92", "gray93", "gray94", "gray95", "gray96", "gray97", "gray98", "gray99", "gray100", "green", "green1", "green2", "green3", "green4", "greenyellow", "grey", "grey0", "grey1", "grey2", "grey3", "grey4", "grey5", "grey6", "grey7", "grey8", "grey9", "grey10", "grey11", "grey12", "grey13", "grey14", "grey15", "grey16", "grey17", "grey18", "grey19", "grey20", "grey21", "grey22", "grey23", "grey24", "grey25", "grey26", "grey27", "grey28", "grey29", "grey30", "grey31", "grey32", "grey33", "grey34", "grey35", "grey36", "grey37", "grey38", "grey39", "grey40", "grey41", "grey42", "grey43", "grey44", "grey45", "grey46", "grey47", "grey48", "grey49", "grey50", "grey51", "grey52", "grey53", "grey54", "grey55", "grey56", "grey57", "grey58", "grey59", "grey60", "grey61", "grey62", "grey63", "grey64", "grey65", "grey66", "grey67", "grey68", "grey69", "grey70", "grey71", "grey72", "grey73", "grey74", "grey75", "grey76", "grey77", "grey78", "grey79", "grey80", "grey81", "grey82", "grey83", "grey84", "grey85", "grey86", "grey87", "grey88", "grey89", "grey90", "grey91", "grey92", "grey93", "grey94", "grey95", "grey96", "grey97", "grey98", "grey99", "grey100", "honeydew", "honeydew1", "honeydew2", "honeydew3", "honeydew4", "hotpink", "hotpink1", "hotpink2", "hotpink3", "hotpink4", "indianred", "indianred1", "indianred2", "indianred3", "indianred4", "ivory", "ivory1", "ivory2", "ivory3", "ivory4", "khaki", "khaki1", "khaki2", "khaki3", "khaki4", "lavender", "lavenderblush", "lavenderblush1", "lavenderblush2", "lavenderblush3", "lavenderblush4", "lawngreen", "lemonchiffon", "lemonchiffon1", "lemonchiffon2", "lemonchiffon3", "lemonchiffon4", "lightblue", "lightblue1", "lightblue2", "lightblue3", "lightblue4", "lightcoral", "lightcyan", "lightcyan1", "lightcyan2", "lightcyan3", "lightcyan4", "lightgoldenrod", "lightgoldenrod1", "lightgoldenrod2", "lightgoldenrod3", "lightgoldenrod4", "lightgoldenrodyellow", "lightgray", "lightgreen", "lightgrey", "lightpink", "lightpink1", "lightpink2", "lightpink3", "lightpink4", "lightsalmon", "lightsalmon1", "lightsalmon2", "lightsalmon3", "lightsalmon4", "lightseagreen", "lightskyblue", "lightskyblue1", "lightskyblue2", "lightskyblue3", "lightskyblue4", "lightslateblue", "lightslategray", "lightslategrey", "lightsteelblue", "lightsteelblue1", "lightsteelblue2", "lightsteelblue3", "lightsteelblue4", "lightyellow", "lightyellow1", "lightyellow2", "lightyellow3", "lightyellow4", "limegreen", "linen", "magenta", "magenta1", "magenta2", "magenta3", "magenta4", "maroon", "maroon1", "maroon2", "maroon3", "maroon4", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumorchid1", "mediumorchid2", "mediumorchid3", "mediumorchid4", "mediumpurple", "mediumpurple1", "mediumpurple2", "mediumpurple3", "mediumpurple4", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "mistyrose1", "mistyrose2", "mistyrose3", "mistyrose4", "moccasin", "navajowhite", "navajowhite1", "navajowhite2", "navajowhite3", "navajowhite4", "navy", "navyblue", "oldlace", "olivedrab", "olivedrab1", "olivedrab2", "olivedrab3", "olivedrab4", "orange", "orange1", "orange2", "orange3", "orange4", "orangered", "orangered1", "orangered2", "orangered3", "orangered4", "orchid", "orchid1", "orchid2", "orchid3", "orchid4", "palegoldenrod", "palegreen", "palegreen1", "palegreen2", "palegreen3", "palegreen4", "paleturquoise", "paleturquoise1", "paleturquoise2", "paleturquoise3", "paleturquoise4", "palevioletred", "palevioletred1", "palevioletred2", "palevioletred3", "palevioletred4", "papayawhip", "peachpuff", "peachpuff1", "peachpuff2", "peachpuff3", "peachpuff4", "peru", "pink", "pink1", "pink2", "pink3", "pink4", "plum", "plum1", "plum2", "plum3", "plum4", "powderblue", "purple", "purple1", "purple2", "purple3", "purple4", "red", "red1", "red2", "red3", "red4", "rosybrown", "rosybrown1", "rosybrown2", "rosybrown3", "rosybrown4", "royalblue", "royalblue1", "royalblue2", "royalblue3", "royalblue4", "saddlebrown", "salmon", "salmon1", "salmon2", "salmon3", "salmon4", "sandybrown", "seagreen", "seagreen1", "seagreen2", "seagreen3", "seagreen4", "seashell", "seashell1", "seashell2", "seashell3", "seashell4", "sienna", "sienna1", "sienna2", "sienna3", "sienna4", "skyblue", "skyblue1", "skyblue2", "skyblue3", "skyblue4", "slateblue", "slateblue1", "slateblue2", "slateblue3", "slateblue4", "slategray", "slategray1", "slategray2", "slategray3", "slategray4", "slategrey", "snow", "snow1", "snow2", "snow3", "snow4", "springgreen", "springgreen1", "springgreen2", "springgreen3", "springgreen4", "steelblue", "steelblue1", "steelblue2", "steelblue3", "steelblue4", "tan", "tan1", "tan2", "tan3", "tan4", "thistle", "thistle1", "thistle2", "thistle3", "thistle4", "tomato", "tomato1", "tomato2", "tomato3", "tomato4", "turquoise", "turquoise1", "turquoise2", "turquoise3", "turquoise4", "violet", "violetred", "violetred1", "violetred2", "violetred3", "violetred4", "wheat", "wheat1", "wheat2", "wheat3", "wheat4", "whitesmoke", "yellow", "yellow1", "yellow2", "yellow3", "yellow4", "yellowgreen"), container = new("gLayout",     toolkit = new("guiWidgetsToolkitRGtk2", toolkit = "RGtk2"),     widget = new("gLayoutRGtk", block = <pointer: 0x7f892a5d1500>,         widget = <pointer: 0x7f892a5d1500>, toolkit = new("guiWidgetsToolkitRGtk2",             toolkit = "RGtk2"))))
11: do.call(l$type, tmp)
12: .makeFieldset(l, newObject, e)
13: .makeForm(lst, mainGroup, e)
14: .gformlayout(toolkit, lst = lst, container = container, ...)
15: .gformlayout(toolkit, lst = lst, container = container, ...)
16: gformlayout(Setting, container = container, expand = TRUE)
17: addSettingGUI(container = .settings_gui)
18: RQDA()
19: fun(libname, pkgname)
20: doTryCatch(return(expr), name, parentenv, handler)
21: tryCatchOne(expr, names, parentenv, handlers[[1L]])
22: tryCatchList(expr, classes, parentenv, handlers)
23: tryCatch(fun(libname, pkgname), error = identity)
24: runHook(".onAttach", ns, dirname(nspath), nsname)
25: attachNamespace(ns, pos = pos, deps, exclude, include.only)
26: doTryCatch(return(expr), name, parentenv, handler)
27: tryCatchOne(expr, names, parentenv, handlers[[1L]])
28: tryCatchList(expr, classes, parentenv, handlers)
29: tryCatch({    attr(package, "LibPath") <- which.lib.loc    ns <- loadNamespace(package, lib.loc)    env <- attachNamespace(ns, pos = pos, deps, exclude, include.only)}, error = function(e) {    P <- if (!is.null(cc <- conditionCall(e)))         paste(" in", deparse(cc)[1L])    else ""    msg <- gettextf("package or namespace load failed for %s%s:\n %s",         sQuote(package), P, conditionMessage(e))    if (logical.return)         message(paste("Error:", msg), domain = NA)    else stop(msg, call. = FALSE, domain = NA)})
30: library(RQDA)

Possible actions:
1: abort (with core dump, if enabled)
2: normal R exit
3: exit R without saving workspace
4: exit R saving workspace

The other relevant info you may need:

ProductName:	Mac OS X
ProductVersion:	10.14.6
BuildVersion:	18G84
R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 The R Foundation for Statistical Computing
Platform: x86_64-apple-darwin15.6.0 (64-bit)

Please let me know if you require any further info. Thanks in advance!

Regards,
Atanas.

Suggestion of new widget for attributes

I think that it would be better if the dialog box to add a new attribute included the attribute class rather than we having to set the class in another dialog box. And I think that would be even better if users could define restrictions on valid values that could be typed when filling the attributes for each file. Finally, I think that instead of just two classes (character and numeric) we could also allow users to set the attribute as integer and factor. The integer class would be useful for attributes such as age. It could also be converted into a factor later.

I started the development of such an improved dialog box. In fact, I am considering the possibility of using the same code to create a “Data Entry” R package which would make it easier to enter data from questionnaires.

The code below does what I am suggesting:

library(gWidgetsRGtk2)

IsNumericInt <- function(s, cls)
{
    ni <- try(as.numeric(s), silent = TRUE)
    if(is.na(ni)){
        gmessage(sprintf(gettext("'%s' is not a valid numeric value.",
                                 domain = "R-RQDA"), s), type = "warning")
        return(FALSE)
    }
    if(cls == "integer" && ni != try(as.integer(s), silent = TRUE)){
        gmessage(sprintf(gettext("'%s' is not a valid integer value.",
                                 domain = "R-RQDA"), s), type = "warning")
        return(FALSE)
    }
    return(TRUE)
}

AttrDlg <- function(x)
{
    attrdlg <- gwindow(title = gettext("Attribute", domain = "R-RQDA"),
                       parent = c(2, 2), visible = FALSE)
    vbox <- ggroup(horizontal = FALSE, container = attrdlg)

    glabel(gettext("Name:", domain = "R-RQDA"), container = vbox, anchor = c(-1, 1))
    aName <- gedit(width = 25, container = vbox, anchor = c(-1, 1))

    glabel(gettext("Class:", domain = "R-RQDA"), container = vbox, anchor = c(-1, 1))
    aClass <- gradio(c("character", "factor", "integer", "numeric"), selected = 0,
                     horizontal = TRUE, container = vbox, anchor = c(-1, 1))
    gseparator(container = vbox)

    intLbl <- glabel(gettext("Set valid:", domain = "R-RQDA"))
    intVal <- gradio(c(gettext("range"), gettext("values")),
                     selected = 0, horizontal = TRUE)

    rLbl <- glabel(gettext("Valid range:", domain = "R-RQDA"))
    hbox1 <- ggroup()
    lMin <- glabel(gettext("Min:", domain = "R-RQDA"), container = hbox1, anchor = c(-1, 0))
    aMin <- gedit(width = 6, container = hbox1, anchor = c(-1, 1))
    lMax <- glabel(gettext("Max:", domain = "R-RQDA"), container = hbox1, anchor = c(-1, 0))
    aMax <- gedit(width = 6, container = hbox1, anchor = c(-1, 1))

    vvLbl <- glabel(gettext("Valid values (one per line):", domain = "R-RQDA"),
                    anchor = c(-1, 1))
    aVV <- gtext(width = 25, height = 100, anchor = c(-1, 1))


    addSpring(vbox)
    hbox2 <- ggroup(container = vbox)
    addSpring(hbox2)
    btCancel <- gbutton(gettext("Cancel", domain = "R-RQDA"), container = hbox2)
    btOK <- gbutton(gettext("OK", domain = "R-RQDA"), container = hbox2)

    onClassChange <- function(...){
        delete(vbox, intLbl)
        delete(vbox, intVal)
        delete(vbox, rLbl)
        delete(vbox, hbox1)
        delete(vbox, vvLbl)
        delete(vbox, aVV)
        delete(vbox, hbox2)
        if(svalue(aClass) == "integer"){
            add(vbox, intLbl, anchor = c(-1, 1))
            add(vbox, intVal, anchor = c(-1, 1))
        }
        if(svalue(aClass) == "numeric" || (svalue(aClass) == "integer" && svalue(intVal) == gettext("range", domain = "R-RQDA"))){
            add(vbox, rLbl, anchor = c(-1, 1))
            add(vbox, hbox1)
        } else if(svalue(aClass) == "factor" || (svalue(aClass) == "integer" && svalue(intVal) == gettext("values", domain = "R-RQDA"))){
            add(vbox, vvLbl, anchor = c(-1, 1))
            add(vbox, aVV, anchor = c(-1, 1))
        }
        add(vbox, hbox2)
    }

    onCancel <- function(...){
        dispose(attrdlg)
    }

    onOK <- function(...){
        # Get clean values
        nm <- sub("^[ \t\r\n]*", "", svalue(aName))
        nm <- sub("[ \t\r\n]*$", "", nm)
        cl <- svalue(aClass)
        vv <- strsplit(svalue(aVV), "\n")[[1]]
        vv <- sub("^[ \t\n\r]*", "", vv)
        vv <- sub("[ \t\n\r]*$", "", vv)
        vv <- vv[vv != ""]
        mi <- sub("^[ \t\r\n]*", "", svalue(aMin))
        mi <- sub("[ \t\r\n]*$", "", mi)
        mi <- sub("^NA$", "", mi)
        ma <- sub("^[ \t\r\n]*", "", svalue(aMax))
        ma <- sub("[ \t\r\n]*$", "", ma)
        ma <- sub("^NA$", "", ma)

        # Get "range of value" and "valid values" only when they are meaniful
        if(length(vv) == 0)
            vv <- NA
        if(mi == "")
            mi <- NA
        if(ma == "")
            ma <- NA
        if(cl == "character" || cl == "numeric"){
            vv <- NA
        }
        if(cl == "character" || cl == "factor"){
            mi <- NA
            ma <- NA
        }

        # Check if the name is valid
        if(nchar(nm) == 0){
            gmessage(gettext("The attribute name cannot be empty.",
                             domain = "R-RQDA"), type = "warning")
            focus(aName)
            return(invisible(NULL))
        }
        if(grepl("^[0-9]", nm)){
            gmessage(gettext("The attribute name cannot begin with a number.",
                             domain = "R-RQDA"), type = "warning")
            focus(aName)
            return(invisible(NULL))
        }
        if(grepl("[@#$%^&*(){}<>?|/\\+-=,;:'\"`~]", nm) || grepl("\\[", nm) || grepl("\\]", nm)){
            gmessage(gettext("Invalid character in the attribute name.",
                             domain = "R-RQDA"), type = "warning")
            focus(aName)
            return(invisible(NULL))
        }

        # Check if the values are valid
        if(cl == "numeric" || (cl == "integer" && svalue(intVal) == "range")){
            vv <- NA
            if(mi != "" && !IsNumericInt(mi, cl)){
                focus(aMin)
                return(invisible(NULL))
            }
            if(ma != "" && !IsNumericInt(mi, cl)){
                focus(aMin)
                return(invisible(NULL))
            }
            if(cl == "numeric"){
                mi <- as.numeric(mi)
                ma <- as.numeric(ma)
            } else {
                mi <- as.integer(mi)
                ma <- as.integer(ma)
            }
        }
        if(cl == "integer" && svalue(intVal) == "values"){
            mi <- NA
            ma <- NA
            for(v in vv){
                if(!IsNumericInt(v, cl)){
                    focus(aVV)
                    return(invisible(NULL))
                }
            }
            vv <- as.integer(vv)
        }

        # Check for duplicates
        if(sum(duplicated(vv))){
            gmessage(sprintf(ngettext(sum(duplicated(vv)),
                                      "There is a duplicated value:\n%s",
                                      "There are duplicated values:\n%s",
                                      domain = "R-RQDA"),
                             paste(vv[duplicated(vv)], collapse = "\n")),
                     type = "warning")
            focus(aVV)
            return(invisible(NULL))
        }

        dispose(attrdlg)

        cat("\n===========================\n\n")
        print(list("name" = nm, "class" = cl, "valid.values" = vv, "min" = mi, "max" = ma))
        cat("===========================\n")
    }

    addHandlerChanged(aClass, onClassChange)
    addHandlerChanged(intVal, onClassChange)
    addHandlerChanged(btCancel, onCancel)
    addHandlerChanged(btOK, onOK)

    visible(attrdlg) <- TRUE
}

AttrDlg()

Error in running on Mac

I got the package installed. When I called library(RQDA), I got the following error:

 *** caught segfault ***
address 0x0, cause 'memory not mapped'

Traceback:
 1: .RGtkCall("S_gtk_tree_store_set_value", object, iter, column,     value, PACKAGE = "RGtk2")
 2: method(obj, ...)
 3: store$SetValue(iter$iter, column = 0, items[j, 1])
 4: `.leftBracket<-`(`*tmp*`, x@toolkit, i, j, ..., value = value)
 5: `.leftBracket<-`(`*tmp*`, x@toolkit, i, j, ..., value = value)
 6: `[<-`(`*tmp*`, , value = list(items = c("blue", "white", "aliceblue", "antiquewhite", "antiquewhite1", "antiquewhite2", "antiquewhite3", "antiquewhite4", "aquamarine", "aquamarine1", "aquamarine2", "aquamarine3", "aquamarine4", "azure", "azure1", "azure2", "azure3", "azure4", "beige", "bisque", "bisque1", "bisque2", "bisque3", "bisque4", "black", "blanchedalmond", "blue", "blue1", "blue2", "blue3", "blue4", "blueviolet", "brown", "brown1", "brown2", "brown3", "brown4", "burlywood", "burlywood1", "burlywood2", "burlywood3", "burlywood4", "cadetblue", "cadetblue1", "cadetblue2", "cadetblue3", "cadetblue4", "chartreuse", "chartreuse1", "chartreuse2", "chartreuse3", "chartreuse4", "chocolate", "chocolate1", "chocolate2", "chocolate3", "chocolate4", "coral", "coral1", "coral2", "coral3", "coral4", "cornflowerblue", "cornsilk", "cornsilk1", "cornsilk2", "cornsilk3", "cornsilk4", "cyan", "cyan1", "cyan2", "cyan3", "cyan4", "darkblue", "darkcyan", "darkgoldenrod", "darkgoldenrod1", "darkgoldenrod2", "darkgoldenrod3", "darkgoldenrod4", "darkgray", "darkgreen", "darkgrey", "darkkhaki", "darkmagenta", "darkolivegreen", "darkolivegreen1", "darkolivegreen2", "darkolivegreen3", "darkolivegreen4", "darkorange", "darkorange1", "darkorange2", "darkorange3", "darkorange4", "darkorchid", "darkorchid1", "darkorchid2", "darkorchid3", "darkorchid4", "darkred", "darksalmon", "darkseagreen", "darkseagreen1", "darkseagreen2", "darkseagreen3", "darkseagreen4", "darkslateblue", "darkslategray", "darkslategray1", "darkslategray2", "darkslategray3", "darkslategray4", "darkslategrey", "darkturquoise", "darkviolet", "deeppink", "deeppink1", "deeppink2", "deeppink3", "deeppink4", "deepskyblue", "deepskyblue1", "deepskyblue2", "deepskyblue3", "deepskyblue4", "dimgray", "dimgrey", "dodgerblue", "dodgerblue1", "dodgerblue2", "dodgerblue3", "dodgerblue4", "firebrick", "firebrick1", "firebrick2", "firebrick3", "firebrick4", "floralwhite", "forestgreen", "gainsboro", "ghostwhite", "gold", "gold1", "gold2", "gold3", "gold4", "goldenrod", "goldenrod1", "goldenrod2", "goldenrod3", "goldenrod4", "gray", "gray0", "gray1", "gray2", "gray3", "gray4", "gray5", "gray6", "gray7", "gray8", "gray9", "gray10", "gray11", "gray12", "gray13", "gray14", "gray15", "gray16", "gray17", "gray18", "gray19", "gray20", "gray21", "gray22", "gray23", "gray24", "gray25", "gray26", "gray27", "gray28", "gray29", "gray30", "gray31", "gray32", "gray33", "gray34", "gray35", "gray36", "gray37", "gray38", "gray39", "gray40", "gray41", "gray42", "gray43", "gray44", "gray45", "gray46", "gray47", "gray48", "gray49", "gray50", "gray51", "gray52", "gray53", "gray54", "gray55", "gray56", "gray57", "gray58", "gray59", "gray60", "gray61", "gray62", "gray63", "gray64", "gray65", "gray66", "gray67", "gray68", "gray69", "gray70", "gray71", "gray72", "gray73", "gray74", "gray75", "gray76", "gray77", "gray78", "gray79", "gray80", "gray81", "gray82", "gray83", "gray84", "gray85", "gray86", "gray87", "gray88", "gray89", "gray90", "gray91", "gray92", "gray93", "gray94", "gray95", "gray96", "gray97", "gray98", "gray99", "gray100", "green", "green1", "green2", "green3", "green4", "greenyellow", "grey", "grey0", "grey1", "grey2", "grey3", "grey4", "grey5", "grey6", "grey7", "grey8", "grey9", "grey10", "grey11", "grey12", "grey13", "grey14", "grey15", "grey16", "grey17", "grey18", "grey19", "grey20", "grey21", "grey22", "grey23", "grey24", "grey25", "grey26", "grey27", "grey28", "grey29", "grey30", "grey31", "grey32", "grey33", "grey34", "grey35", "grey36", "grey37", "grey38", "grey39", "grey40", "grey41", "grey42", "grey43", "grey44", "grey45", "grey46", "grey47", "grey48", "grey49", "grey50", "grey51", "grey52", "grey53", "grey54", "grey55", "grey56", "grey57", "grey58", "grey59", "grey60", "grey61", "grey62", "grey63", "grey64", "grey65", "grey66", "grey67", "grey68", "grey69", "grey70", "grey71", "grey72", "grey73", "grey74", "grey75", "grey76", "grey77", "grey78", "grey79", "grey80", "grey81", "grey82", "grey83", "grey84", "grey85", "grey86", "grey87", "grey88", "grey89", "grey90", "grey91", "grey92", "grey93", "grey94", "grey95", "grey96", "grey97", "grey98", "grey99", "grey100", "honeydew", "honeydew1", "honeydew2", "honeydew3", "honeydew4", "hotpink", "hotpink1", "hotpink2", "hotpink3", "hotpink4", "indianred", "indianred1", "indianred2", "indianred3", "indianred4", "ivory", "ivory1", "ivory2", "ivory3", "ivory4", "khaki", "khaki1", "khaki2", "khaki3", "khaki4", "lavender", "lavenderblush", "lavenderblush1", "lavenderblush2", "lavenderblush3", "lavenderblush4", "lawngreen", "lemonchiffon", "lemonchiffon1", "lemonchiffon2", "lemonchiffon3", "lemonchiffon4", "lightblue", "lightblue1", "lightblue2", "lightblue3", "lightblue4", "lightcoral", "lightcyan", "lightcyan1", "lightcyan2", "lightcyan3", "lightcyan4", "lightgoldenrod", "lightgoldenrod1", "lightgoldenrod2", "lightgoldenrod3", "lightgoldenrod4", "lightgoldenrodyellow", "lightgray", "lightgreen", "lightgrey", "lightpink", "lightpink1", "lightpink2", "lightpink3", "lightpink4", "lightsalmon", "lightsalmon1", "lightsalmon2", "lightsalmon3", "lightsalmon4", "lightseagreen", "lightskyblue", "lightskyblue1", "lightskyblue2", "lightskyblue3", "lightskyblue4", "lightslateblue", "lightslategray", "lightslategrey", "lightsteelblue", "lightsteelblue1", "lightsteelblue2", "lightsteelblue3", "lightsteelblue4", "lightyellow", "lightyellow1", "lightyellow2", "lightyellow3", "lightyellow4", "limegreen", "linen", "magenta", "magenta1", "magenta2", "magenta3", "magenta4", "maroon", "maroon1", "maroon2", "maroon3", "maroon4", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumorchid1", "mediumorchid2", "mediumorchid3", "mediumorchid4", "mediumpurple", "mediumpurple1", "mediumpurple2", "mediumpurple3", "mediumpurple4", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "mistyrose1", "mistyrose2", "mistyrose3", "mistyrose4", "moccasin", "navajowhite", "navajowhite1", "navajowhite2", "navajowhite3", "navajowhite4", "navy", "navyblue", "oldlace", "olivedrab", "olivedrab1", "olivedrab2", "olivedrab3", "olivedrab4", "orange", "orange1", "orange2", "orange3", "orange4", "orangered", "orangered1", "orangered2", "orangered3", "orangered4", "orchid", "orchid1", "orchid2", "orchid3", "orchid4", "palegoldenrod", "palegreen", "palegreen1", "palegreen2", "palegreen3", "palegreen4", "paleturquoise", "paleturquoise1", "paleturquoise2", "paleturquoise3", "paleturquoise4", "palevioletred", "palevioletred1", "palevioletred2", "palevioletred3", "palevioletred4", "papayawhip", "peachpuff", "peachpuff1", "peachpuff2", "peachpuff3", "peachpuff4", "peru", "pink", "pink1", "pink2", "pink3", "pink4", "plum", "plum1", "plum2", "plum3", "plum4", "powderblue", "purple", "purple1", "purple2", "purple3", "purple4", "red", "red1", "red2", "red3", "red4", "rosybrown", "rosybrown1", "rosybrown2", "rosybrown3", "rosybrown4", "royalblue", "royalblue1", "royalblue2", "royalblue3", "royalblue4", "saddlebrown", "salmon", "salmon1", "salmon2", "salmon3", "salmon4", "sandybrown", "seagreen", "seagreen1", "seagreen2", "seagreen3", "seagreen4", "seashell", "seashell1", "seashell2", "seashell3", "seashell4", "sienna", "sienna1", "sienna2", "sienna3", "sienna4", "skyblue", "skyblue1", "skyblue2", "skyblue3", "skyblue4", "slateblue", "slateblue1", "slateblue2", "slateblue3", "slateblue4", "slategray", "slategray1", "slategray2", "slategray3", "slategray4", "slategrey", "snow", "snow1", "snow2", "snow3", "snow4", "springgreen", "springgreen1", "springgreen2", "springgreen3", "springgreen4", "steelblue", "steelblue1", "steelblue2", "steelblue3", "steelblue4", "tan", "tan1", "tan2", "tan3", "tan4", "thistle", "thistle1", "thistle2", "thistle3", "thistle4", "tomato", "tomato1", "tomato2", "tomato3", "tomato4", "turquoise", "turquoise1", "turquoise2", "turquoise3", "turquoise4", "violet", "violetred", "violetred1", "violetred2", "violetred3", "violetred4", "wheat", "wheat1", "wheat2", "wheat3", "wheat4", "whitesmoke", "yellow", "yellow1", "yellow2", "yellow3", "yellow4", "yellowgreen")))
 7: `[<-`(`*tmp*`, , value = list(items = c("blue", "white", "aliceblue", "antiquewhite", "antiquewhite1", "antiquewhite2", "antiquewhite3", "antiquewhite4", "aquamarine", "aquamarine1", "aquamarine2", "aquamarine3", "aquamarine4", "azure", "azure1", "azure2", "azure3", "azure4", "beige", "bisque", "bisque1", "bisque2", "bisque3", "bisque4", "black", "blanchedalmond", "blue", "blue1", "blue2", "blue3", "blue4", "blueviolet", "brown", "brown1", "brown2", "brown3", "brown4", "burlywood", "burlywood1", "burlywood2", "burlywood3", "burlywood4", "cadetblue", "cadetblue1", "cadetblue2", "cadetblue3", "cadetblue4", "chartreuse", "chartreuse1", "chartreuse2", "chartreuse3", "chartreuse4", "chocolate", "chocolate1", "chocolate2", "chocolate3", "chocolate4", "coral", "coral1", "coral2", "coral3", "coral4", "cornflowerblue", "cornsilk", "cornsilk1", "cornsilk2", "cornsilk3", "cornsilk4", "cyan", "cyan1", "cyan2", "cyan3", "cyan4", "darkblue", "darkcyan", "darkgoldenrod", "darkgoldenrod1", "darkgoldenrod2", "darkgoldenrod3", "darkgoldenrod4", "darkgray", "darkgreen", "darkgrey", "darkkhaki", "darkmagenta", "darkolivegreen", "darkolivegreen1", "darkolivegreen2", "darkolivegreen3", "darkolivegreen4", "darkorange", "darkorange1", "darkorange2", "darkorange3", "darkorange4", "darkorchid", "darkorchid1", "darkorchid2", "darkorchid3", "darkorchid4", "darkred", "darksalmon", "darkseagreen", "darkseagreen1", "darkseagreen2", "darkseagreen3", "darkseagreen4", "darkslateblue", "darkslategray", "darkslategray1", "darkslategray2", "darkslategray3", "darkslategray4", "darkslategrey", "darkturquoise", "darkviolet", "deeppink", "deeppink1", "deeppink2", "deeppink3", "deeppink4", "deepskyblue", "deepskyblue1", "deepskyblue2", "deepskyblue3", "deepskyblue4", "dimgray", "dimgrey", "dodgerblue", "dodgerblue1", "dodgerblue2", "dodgerblue3", "dodgerblue4", "firebrick", "firebrick1", "firebrick2", "firebrick3", "firebrick4", "floralwhite", "forestgreen", "gainsboro", "ghostwhite", "gold", "gold1", "gold2", "gold3", "gold4", "goldenrod", "goldenrod1", "goldenrod2", "goldenrod3", "goldenrod4", "gray", "gray0", "gray1", "gray2", "gray3", "gray4", "gray5", "gray6", "gray7", "gray8", "gray9", "gray10", "gray11", "gray12", "gray13", "gray14", "gray15", "gray16", "gray17", "gray18", "gray19", "gray20", "gray21", "gray22", "gray23", "gray24", "gray25", "gray26", "gray27", "gray28", "gray29", "gray30", "gray31", "gray32", "gray33", "gray34", "gray35", "gray36", "gray37", "gray38", "gray39", "gray40", "gray41", "gray42", "gray43", "gray44", "gray45", "gray46", "gray47", "gray48", "gray49", "gray50", "gray51", "gray52", "gray53", "gray54", "gray55", "gray56", "gray57", "gray58", "gray59", "gray60", "gray61", "gray62", "gray63", "gray64", "gray65", "gray66", "gray67", "gray68", "gray69", "gray70", "gray71", "gray72", "gray73", "gray74", "gray75", "gray76", "gray77", "gray78", "gray79", "gray80", "gray81", "gray82", "gray83", "gray84", "gray85", "gray86", "gray87", "gray88", "gray89", "gray90", "gray91", "gray92", "gray93", "gray94", "gray95", "gray96", "gray97", "gray98", "gray99", "gray100", "green", "green1", "green2", "green3", "green4", "greenyellow", "grey", "grey0", "grey1", "grey2", "grey3", "grey4", "grey5", "grey6", "grey7", "grey8", "grey9", "grey10", "grey11", "grey12", "grey13", "grey14", "grey15", "grey16", "grey17", "grey18", "grey19", "grey20", "grey21", "grey22", "grey23", "grey24", "grey25", "grey26", "grey27", "grey28", "grey29", "grey30", "grey31", "grey32", "grey33", "grey34", "grey35", "grey36", "grey37", "grey38", "grey39", "grey40", "grey41", "grey42", "grey43", "grey44", "grey45", "grey46", "grey47", "grey48", "grey49", "grey50", "grey51", "grey52", "grey53", "grey54", "grey55", "grey56", "grey57", "grey58", "grey59", "grey60", "grey61", "grey62", "grey63", "grey64", "grey65", "grey66", "grey67", "grey68", "grey69", "grey70", "grey71", "grey72", "grey73", "grey74", "grey75", "grey76", "grey77", "grey78", "grey79", "grey80", "grey81", "grey82", "grey83", "grey84", "grey85", "grey86", "grey87", "grey88", "grey89", "grey90", "grey91", "grey92", "grey93", "grey94", "grey95", "grey96", "grey97", "grey98", "grey99", "grey100", "honeydew", "honeydew1", "honeydew2", "honeydew3", "honeydew4", "hotpink", "hotpink1", "hotpink2", "hotpink3", "hotpink4", "indianred", "indianred1", "indianred2", "indianred3", "indianred4", "ivory", "ivory1", "ivory2", "ivory3", "ivory4", "khaki", "khaki1", "khaki2", "khaki3", "khaki4", "lavender", "lavenderblush", "lavenderblush1", "lavenderblush2", "lavenderblush3", "lavenderblush4", "lawngreen", "lemonchiffon", "lemonchiffon1", "lemonchiffon2", "lemonchiffon3", "lemonchiffon4", "lightblue", "lightblue1", "lightblue2", "lightblue3", "lightblue4", "lightcoral", "lightcyan", "lightcyan1", "lightcyan2", "lightcyan3", "lightcyan4", "lightgoldenrod", "lightgoldenrod1", "lightgoldenrod2", "lightgoldenrod3", "lightgoldenrod4", "lightgoldenrodyellow", "lightgray", "lightgreen", "lightgrey", "lightpink", "lightpink1", "lightpink2", "lightpink3", "lightpink4", "lightsalmon", "lightsalmon1", "lightsalmon2", "lightsalmon3", "lightsalmon4", "lightseagreen", "lightskyblue", "lightskyblue1", "lightskyblue2", "lightskyblue3", "lightskyblue4", "lightslateblue", "lightslategray", "lightslategrey", "lightsteelblue", "lightsteelblue1", "lightsteelblue2", "lightsteelblue3", "lightsteelblue4", "lightyellow", "lightyellow1", "lightyellow2", "lightyellow3", "lightyellow4", "limegreen", "linen", "magenta", "magenta1", "magenta2", "magenta3", "magenta4", "maroon", "maroon1", "maroon2", "maroon3", "maroon4", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumorchid1", "mediumorchid2", "mediumorchid3", "mediumorchid4", "mediumpurple", "mediumpurple1", "mediumpurple2", "mediumpurple3", "mediumpurple4", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "mistyrose1", "mistyrose2", "mistyrose3", "mistyrose4", "moccasin", "navajowhite", "navajowhite1", "navajowhite2", "navajowhite3", "navajowhite4", "navy", "navyblue", "oldlace", "olivedrab", "olivedrab1", "olivedrab2", "olivedrab3", "olivedrab4", "orange", "orange1", "orange2", "orange3", "orange4", "orangered", "orangered1", "orangered2", "orangered3", "orangered4", "orchid", "orchid1", "orchid2", "orchid3", "orchid4", "palegoldenrod", "palegreen", "palegreen1", "palegreen2", "palegreen3", "palegreen4", "paleturquoise", "paleturquoise1", "paleturquoise2", "paleturquoise3", "paleturquoise4", "palevioletred", "palevioletred1", "palevioletred2", "palevioletred3", "palevioletred4", "papayawhip", "peachpuff", "peachpuff1", "peachpuff2", "peachpuff3", "peachpuff4", "peru", "pink", "pink1", "pink2", "pink3", "pink4", "plum", "plum1", "plum2", "plum3", "plum4", "powderblue", "purple", "purple1", "purple2", "purple3", "purple4", "red", "red1", "red2", "red3", "red4", "rosybrown", "rosybrown1", "rosybrown2", "rosybrown3", "rosybrown4", "royalblue", "royalblue1", "royalblue2", "royalblue3", "royalblue4", "saddlebrown", "salmon", "salmon1", "salmon2", "salmon3", "salmon4", "sandybrown", "seagreen", "seagreen1", "seagreen2", "seagreen3", "seagreen4", "seashell", "seashell1", "seashell2", "seashell3", "seashell4", "sienna", "sienna1", "sienna2", "sienna3", "sienna4", "skyblue", "skyblue1", "skyblue2", "skyblue3", "skyblue4", "slateblue", "slateblue1", "slateblue2", "slateblue3", "slateblue4", "slategray", "slategray1", "slategray2", "slategray3", "slategray4", "slategrey", "snow", "snow1", "snow2", "snow3", "snow4", "springgreen", "springgreen1", "springgreen2", "springgreen3", "springgreen4", "steelblue", "steelblue1", "steelblue2", "steelblue3", "steelblue4", "tan", "tan1", "tan2", "tan3", "tan4", "thistle", "thistle1", "thistle2", "thistle3", "thistle4", "tomato", "tomato1", "tomato2", "tomato3", "tomato4", "turquoise", "turquoise1", "turquoise2", "turquoise3", "turquoise4", "violet", "violetred", "violetred1", "violetred2", "violetred3", "violetred4", "wheat", "wheat1", "wheat2", "wheat3", "wheat4", "whitesmoke", "yellow", "yellow1", "yellow2", "yellow3", "yellow4", "yellowgreen")))
 8: .gdroplist(toolkit, items = items, selected = selected, editable = editable,     coerce.with = coerce.with, handler = handler, action = action,     container = container, ...)
 9: .gdroplist(toolkit, items = items, selected = selected, editable = editable,     coerce.with = coerce.with, handler = handler, action = action,     container = container, ...)
10: gcombobox(items = c("blue", "white", "aliceblue", "antiquewhite", "antiquewhite1", "antiquewhite2", "antiquewhite3", "antiquewhite4", "aquamarine", "aquamarine1", "aquamarine2", "aquamarine3", "aquamarine4", "azure", "azure1", "azure2", "azure3", "azure4", "beige", "bisque", "bisque1", "bisque2", "bisque3", "bisque4", "black", "blanchedalmond", "blue", "blue1", "blue2", "blue3", "blue4", "blueviolet", "brown", "brown1", "brown2", "brown3", "brown4", "burlywood", "burlywood1", "burlywood2", "burlywood3", "burlywood4", "cadetblue", "cadetblue1", "cadetblue2", "cadetblue3", "cadetblue4", "chartreuse", "chartreuse1", "chartreuse2", "chartreuse3", "chartreuse4", "chocolate", "chocolate1", "chocolate2", "chocolate3", "chocolate4", "coral", "coral1", "coral2", "coral3", "coral4", "cornflowerblue", "cornsilk", "cornsilk1", "cornsilk2", "cornsilk3", "cornsilk4", "cyan", "cyan1", "cyan2", "cyan3", "cyan4", "darkblue", "darkcyan", "darkgoldenrod", "darkgoldenrod1", "darkgoldenrod2", "darkgoldenrod3", "darkgoldenrod4", "darkgray", "darkgreen", "darkgrey", "darkkhaki", "darkmagenta", "darkolivegreen", "darkolivegreen1", "darkolivegreen2", "darkolivegreen3", "darkolivegreen4", "darkorange", "darkorange1", "darkorange2", "darkorange3", "darkorange4", "darkorchid", "darkorchid1", "darkorchid2", "darkorchid3", "darkorchid4", "darkred", "darksalmon", "darkseagreen", "darkseagreen1", "darkseagreen2", "darkseagreen3", "darkseagreen4", "darkslateblue", "darkslategray", "darkslategray1", "darkslategray2", "darkslategray3", "darkslategray4", "darkslategrey", "darkturquoise", "darkviolet", "deeppink", "deeppink1", "deeppink2", "deeppink3", "deeppink4", "deepskyblue", "deepskyblue1", "deepskyblue2", "deepskyblue3", "deepskyblue4", "dimgray", "dimgrey", "dodgerblue", "dodgerblue1", "dodgerblue2", "dodgerblue3", "dodgerblue4", "firebrick", "firebrick1", "firebrick2", "firebrick3", "firebrick4", "floralwhite", "forestgreen", "gainsboro", "ghostwhite", "gold", "gold1", "gold2", "gold3", "gold4", "goldenrod", "goldenrod1", "goldenrod2", "goldenrod3", "goldenrod4", "gray", "gray0", "gray1", "gray2", "gray3", "gray4", "gray5", "gray6", "gray7", "gray8", "gray9", "gray10", "gray11", "gray12", "gray13", "gray14", "gray15", "gray16", "gray17", "gray18", "gray19", "gray20", "gray21", "gray22", "gray23", "gray24", "gray25", "gray26", "gray27", "gray28", "gray29", "gray30", "gray31", "gray32", "gray33", "gray34", "gray35", "gray36", "gray37", "gray38", "gray39", "gray40", "gray41", "gray42", "gray43", "gray44", "gray45", "gray46", "gray47", "gray48", "gray49", "gray50", "gray51", "gray52", "gray53", "gray54", "gray55", "gray56", "gray57", "gray58", "gray59", "gray60", "gray61", "gray62", "gray63", "gray64", "gray65", "gray66", "gray67", "gray68", "gray69", "gray70", "gray71", "gray72", "gray73", "gray74", "gray75", "gray76", "gray77", "gray78", "gray79", "gray80", "gray81", "gray82", "gray83", "gray84", "gray85", "gray86", "gray87", "gray88", "gray89", "gray90", "gray91", "gray92", "gray93", "gray94", "gray95", "gray96", "gray97", "gray98", "gray99", "gray100", "green", "green1", "green2", "green3", "green4", "greenyellow", "grey", "grey0", "grey1", "grey2", "grey3", "grey4", "grey5", "grey6", "grey7", "grey8", "grey9", "grey10", "grey11", "grey12", "grey13", "grey14", "grey15", "grey16", "grey17", "grey18", "grey19", "grey20", "grey21", "grey22", "grey23", "grey24", "grey25", "grey26", "grey27", "grey28", "grey29", "grey30", "grey31", "grey32", "grey33", "grey34", "grey35", "grey36", "grey37", "grey38", "grey39", "grey40", "grey41", "grey42", "grey43", "grey44", "grey45", "grey46", "grey47", "grey48", "grey49", "grey50", "grey51", "grey52", "grey53", "grey54", "grey55", "grey56", "grey57", "grey58", "grey59", "grey60", "grey61", "grey62", "grey63", "grey64", "grey65", "grey66", "grey67", "grey68", "grey69", "grey70", "grey71", "grey72", "grey73", "grey74", "grey75", "grey76", "grey77", "grey78", "grey79", "grey80", "grey81", "grey82", "grey83", "grey84", "grey85", "grey86", "grey87", "grey88", "grey89", "grey90", "grey91", "grey92", "grey93", "grey94", "grey95", "grey96", "grey97", "grey98", "grey99", "grey100", "honeydew", "honeydew1", "honeydew2", "honeydew3", "honeydew4", "hotpink", "hotpink1", "hotpink2", "hotpink3", "hotpink4", "indianred", "indianred1", "indianred2", "indianred3", "indianred4", "ivory", "ivory1", "ivory2", "ivory3", "ivory4", "khaki", "khaki1", "khaki2", "khaki3", "khaki4", "lavender", "lavenderblush", "lavenderblush1", "lavenderblush2", "lavenderblush3", "lavenderblush4", "lawngreen", "lemonchiffon", "lemonchiffon1", "lemonchiffon2", "lemonchiffon3", "lemonchiffon4", "lightblue", "lightblue1", "lightblue2", "lightblue3", "lightblue4", "lightcoral", "lightcyan", "lightcyan1", "lightcyan2", "lightcyan3", "lightcyan4", "lightgoldenrod", "lightgoldenrod1", "lightgoldenrod2", "lightgoldenrod3", "lightgoldenrod4", "lightgoldenrodyellow", "lightgray", "lightgreen", "lightgrey", "lightpink", "lightpink1", "lightpink2", "lightpink3", "lightpink4", "lightsalmon", "lightsalmon1", "lightsalmon2", "lightsalmon3", "lightsalmon4", "lightseagreen", "lightskyblue", "lightskyblue1", "lightskyblue2", "lightskyblue3", "lightskyblue4", "lightslateblue", "lightslategray", "lightslategrey", "lightsteelblue", "lightsteelblue1", "lightsteelblue2", "lightsteelblue3", "lightsteelblue4", "lightyellow", "lightyellow1", "lightyellow2", "lightyellow3", "lightyellow4", "limegreen", "linen", "magenta", "magenta1", "magenta2", "magenta3", "magenta4", "maroon", "maroon1", "maroon2", "maroon3", "maroon4", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumorchid1", "mediumorchid2", "mediumorchid3", "mediumorchid4", "mediumpurple", "mediumpurple1", "mediumpurple2", "mediumpurple3", "mediumpurple4", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "mistyrose1", "mistyrose2", "mistyrose3", "mistyrose4", "moccasin", "navajowhite", "navajowhite1", "navajowhite2", "navajowhite3", "navajowhite4", "navy", "navyblue", "oldlace", "olivedrab", "olivedrab1", "olivedrab2", "olivedrab3", "olivedrab4", "orange", "orange1", "orange2", "orange3", "orange4", "orangered", "orangered1", "orangered2", "orangered3", "orangered4", "orchid", "orchid1", "orchid2", "orchid3", "orchid4", "palegoldenrod", "palegreen", "palegreen1", "palegreen2", "palegreen3", "palegreen4", "paleturquoise", "paleturquoise1", "paleturquoise2", "paleturquoise3", "paleturquoise4", "palevioletred", "palevioletred1", "palevioletred2", "palevioletred3", "palevioletred4", "papayawhip", "peachpuff", "peachpuff1", "peachpuff2", "peachpuff3", "peachpuff4", "peru", "pink", "pink1", "pink2", "pink3", "pink4", "plum", "plum1", "plum2", "plum3", "plum4", "powderblue", "purple", "purple1", "purple2", "purple3", "purple4", "red", "red1", "red2", "red3", "red4", "rosybrown", "rosybrown1", "rosybrown2", "rosybrown3", "rosybrown4", "royalblue", "royalblue1", "royalblue2", "royalblue3", "royalblue4", "saddlebrown", "salmon", "salmon1", "salmon2", "salmon3", "salmon4", "sandybrown", "seagreen", "seagreen1", "seagreen2", "seagreen3", "seagreen4", "seashell", "seashell1", "seashell2", "seashell3", "seashell4", "sienna", "sienna1", "sienna2", "sienna3", "sienna4", "skyblue", "skyblue1", "skyblue2", "skyblue3", "skyblue4", "slateblue", "slateblue1", "slateblue2", "slateblue3", "slateblue4", "slategray", "slategray1", "slategray2", "slategray3", "slategray4", "slategrey", "snow", "snow1", "snow2", "snow3", "snow4", "springgreen", "springgreen1", "springgreen2", "springgreen3", "springgreen4", "steelblue", "steelblue1", "steelblue2", "steelblue3", "steelblue4", "tan", "tan1", "tan2", "tan3", "tan4", "thistle", "thistle1", "thistle2", "thistle3", "thistle4", "tomato", "tomato1", "tomato2", "tomato3", "tomato4", "turquoise", "turquoise1", "turquoise2", "turquoise3", "turquoise4", "violet", "violetred", "violetred1", "violetred2", "violetred3", "violetred4", "wheat", "wheat1", "wheat2", "wheat3", "wheat4", "whitesmoke", "yellow", "yellow1", "yellow2", "yellow3", "yellow4", "yellowgreen"), container = new("gLayout",     toolkit = new("guiWidgetsToolkitRGtk2", toolkit = "RGtk2"),     widget = new("gLayoutRGtk", block = <pointer: 0x7fcfa61c2d00>,         widget = <pointer: 0x7fcfa61c2d00>, toolkit = new("guiWidgetsToolkitRGtk2",             toolkit = "RGtk2"))))
11: do.call(l$type, tmp)
12: .makeFieldset(l, newObject, e)
13: .makeForm(lst, mainGroup, e)
14: .gformlayout(toolkit, lst = lst, container = container, ...)
15: .gformlayout(toolkit, lst = lst, container = container, ...)
16: gformlayout(Setting, container = container, expand = TRUE)
17: addSettingGUI(container = .settings_gui)
18: RQDA()
19: fun(libname, pkgname)
20: doTryCatch(return(expr), name, parentenv, handler)
21: tryCatchOne(expr, names, parentenv, handlers[[1L]])
22: tryCatchList(expr, classes, parentenv, handlers)
23: tryCatch(fun(libname, pkgname), error = identity)
24: runHook(".onAttach", ns, dirname(nspath), nsname)
25: attachNamespace(ns, pos = pos, deps, exclude, include.only)
26: doTryCatch(return(expr), name, parentenv, handler)
27: tryCatchOne(expr, names, parentenv, handlers[[1L]])
28: tryCatchList(expr, classes, parentenv, handlers)
29: tryCatch({    attr(package, "LibPath") <- which.lib.loc    ns <- loadNamespace(package, lib.loc)    env <- attachNamespace(ns, pos = pos, deps, exclude, include.only)}, error = function(e) {    P <- if (!is.null(cc <- conditionCall(e)))         paste(" in", deparse(cc)[1L])    else ""    msg <- gettextf("package or namespace load failed for %s%s:\n %s",         sQuote(package), P, conditionMessage(e))    if (logical.return)         message(paste("Error:", msg), domain = NA)    else stop(msg, call. = FALSE, domain = NA)})
30: library(RQDA)

Possible actions:
1: abort (with core dump, if enabled)
2: normal R exit
3: exit R without saving workspace
4: exit R saving workspace
Selection: 

Batch assigning cases within files (Focus Group participants) probable bug.

Hi Ronggui,

I'm using RQDA for qualitative research including the use of Focus Groups. Great tool.

Thanks for developing it. Current setup for reference:

  • RStudio 1.0.143.
  • RQDA ver 0.2.8,
  • RSQLite ver 1.0.0
  • Mozilla Firefox and SQLite Manager ver 0.8.3.1.

For Focus Group research I have multiple cases within the one file (5 in one file, 6 in another and myself as the researcher in both file so I really have 12 cases).

I have transcribed my interviews into a .csv file with starttimestamp, stoptimestamp, speakercode, and text.

I imported these two files into RQDA and have been able to use 'codingBySearch()' on the speakercode to automatically assign the speakers by a code.

This isn't ideal as I'd like to automatically assign these as 'cases' rather than 'codes' to make other analyses using attributes.

I have created the 'cases' for each of the 12 speakers (myself plus 11 participants) and these mirror the 'codes' entries for these 12 entries.

So ... I have opened the project database .rqda file using Mozilla Firefox with the SQLite Manager and wrote a simple query to copy the relevant entries from the 'coding' table to the 'caselinkage' table.

INSERT INTO caselinkage (caseid, fid, selfirst, selend, status, owner, date, memo) SELECT cid, fid, selfirst, selend, status, owner, date, memo FROM coding WHERE cid <= 12

I confirmed that the entries match, i.e. that selfirst and selend are identical in the two tables.

Now - I figured this should work. But it doesn't. I'm not sure if this is a bug because of the way I did things or a more general bug with offsets.

When I open a file which has already been coded, and select a 'code' from the control panel tab the parts of the file marked with that code are highlighted (in default blue) and the boundaries of that selected text behave as expected.

However when I go to the cases tab and select the same entries there is an offset. I get a section of the file highlighted (in default gold) but the location of the section highlighted is offset by the number of codes or perhaps cases preceding it in the file. The first occurrence of a highlighted 'case' appears to highlight correctly, but the second appears to be one character further on in the file, the third appears to be two characters on etc. So if the 'code' highlighted text has the first from position 10-19, second from 20-29, third from 30-39 etc. The 'case' highlighted text (which mirrors the 'code' in my case) will be 10-19, 21-30, 32-41 etc.

From some experimenting, if I add a new coding of any kind then the cases after that advance by one when highlighted.

So I think there is a bug in the display of cases where the length of a 'coding' label is being calculated incorrectly. I hope that is a simple fix for you.

Then the obvious feature enhancement would be to provide a 'caseBySearch()' function which mirrors the 'codingBySearch()'. I imagine that should be a matter of copying the function, substituting 'cases' for 'coding' for the tablename and adjusting the field names.

Regards
Chris

Exporting codings with annotations

Is anyone aware of any ways to export the codings together with the annotations (in the ExportCodings() function)? It would be more efficient (in terms of workflow) to be able to see any annotations to the codings in the same export file.

(I'm aware that you can get to the annotations via RQDAQuery(sql="SELECT * FROM annotation") but it's just the option of being able to see codes and annotations together that's valuable)

Thanks!

Database failure message is terse and lack diagnostics

When supporting users of RQDA, the error message "Fail to write to database" is not as helpful as it could be. A second line displayed to the user with the failed SQL statement would help by

  • Identifying where in the code the user had the problem
  • Providing a starting point to identify the issue that might have caused the error be it an inconsistency in the database structure or a failure of the underlying file system supporting the database

Pressing Enter could mean OK button pressed

I wish that pressing the <Enter> key would make the ginput() consider that the "OK" button was pressed. However, this does not happen. So, I developed a possible replacement for ginput():

library(gWidgetsRGtk2)

x <- "No name"

Input <- function(prnt, lbl, callback)
{
    idlg <- gwindow(title = gettext("input", domain = "R-RQDA"),
                    height = 20, parent = prnt, visible = FALSE)
    vbox <- ggroup(horizontal = FALSE, container = idlg)
    glabel(lbl, container = vbox, anchor = c(-1, 1))
    itxt <- gedit(width = 25, container = vbox, anchor = c(-1, 1))
    hbox <- ggroup(container = vbox)
    addSpring(hbox)
    cnBt <- gbutton(gettext("Cancel", domain = "R-RQDA"), container = hbox)
    okBt <- gbutton(gettext("OK", domain = "R-RQDA"), container = hbox)

    onOK <- function(...){
        callback(svalue(itxt))
        dispose(idlg)
    }
    onCancel <- function(...){
        dispose(idlg) 
    }
    addHandlerChanged(itxt, onOK)
    addHandlerChanged(okBt, onOK)
    addHandlerChanged(cnBt, onCancel)
    visible(idlg) <- TRUE
}


# x <- ginput("Name of file:")
Input(NULL, "Name of file:", function(v) { x <<- v })

merge tool for RQDA projects

Hi Ronggui,

I'm using RQDA for qualitative research

Thanks for developing it. Current setup for reference:

RStudio 1.0.153
RQDA ver 0.3-0
RSQLite ver 2.0.0

Where we work in a team on a slightly huge project

We have fixed the code
And code categories

Then we distributed the files to more than one project has seam code and code-categories
So that each one process the coding alone.
Then we collect the projects in one project so that we analyze it on R
did you can help us to suggeste sqlite or Rsqlite code to merge the projects on one project
or make it a tool in Rqda ?

Regards
EmadEldin

Trouble trying to load/launch RQDA in R Studio

I'm trying to launch RQDA in R Studio for the first time and I get the following error:

library(RQDA)
Loading required package: RSQLite
Error: package or namespace load failed for ‘RSQLite’ in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]):
there is no package called ‘blob’
Error: package ‘RSQLite’ could not be loaded
In addition: Warning messages:
1: package ‘RQDA’ was built under R version 3.4.4
2: package ‘RSQLite’ was built under R version 3.4.4

I have tried loading RSQLite, which is listed in my packages, but nothing works.

No such table/collums (impossible to encode or set attributes to files)

Hi there,

I've been trying to start using RQDA for a few days. I've done the recommended installation steps (even tried to uninstall and reinstall a couple of times) but I can't create any project. I receive the error message below. I've tried to look everywhere but cant find the solution.
Windows 10 (64bits)
Version RQDA 0.3-1 RSQLite 2.1.2

> library(RQDA)
Le chargement a nécessité le package : RSQLite
Le chargement a nécessité le package : gWidgetsRGtk2
Le chargement a nécessité le package : RGtk2
Le chargement a nécessité le package : gWidgets
Le chargement a nécessité le package : cairoDevice
Le chargement a nécessité le package : DBI 

Use 'RQDA()' to start the programme. 

Warning: changing locked binding for ‘n’ in ‘gWidgets’ whilst loading ‘RQDA’ 

(rsession.exe:12256): Gtk-WARNING **: Impossible de trouver l'ic�ne ��gtk-file��. Le th�me ��hicolor�� n'a pas non plus �t� trouv�. Peut-�tre avez-vous besoin de l'installer. Vous pouvez obtenir une copie �:
 	http://icon-theme.freedesktop.org/releases

[1] "C:\\Users\\Anaïs\\Desktop\\test"
Erreur : Could not connect to database: unable to open database file
>

Thought it might be because of RSQLite so I tried to downgrade it to the 2.0 version. But again I couldn't do so:

> install.packages("E:/Anaïs/Téléchargements/RSQLite_2.0.tar.gz", repos = NULL, type = "source")
Installing package into ‘C:/Users/Anaïs/Documents/R/win-library/3.6’ (as ‘lib’ is unspecified)
* installing *source* package 'RSQLite' ... 
** package 'RSQLite' correctement décompressé et sommes MD5 vérifiées 
** using staged installation 
Warning in file(file, if (append) "a" else "w") :   impossible d'ouvrir le fichier 'C:/Users/Anaos/Documents/R/win-library/3.6/00LOCK-RSQLite/00new/RSQLite/DESCRIPTION' : No such file or directory Error in file(file, if (append) "a" else "w") :
    impossible d'ouvrir la connexion ERROR: installing package DESCRIPTION failed for package 'RSQLite' 
* removing 'C:/Users/Anaïs/Documents/R/win-library/3.6/RSQLite' 
* restoring previous 'C:/Users/Anaïs/Documents/R/win-library/3.6/RSQLite' Warning in install.packages :   installation of package ‘E:/Anaïs/Téléchargements/RSQLite_2.0.tar.gz’ had non-zero exit status
--
>

I tried to use the portable version but that doesn't work either. I get the following error message: "unable to initialize the JIT".

I'm not so bad with computers but a complete newb with all this... I hope someone will be able to help!

Annotations are not saved

Hi!

I've been using RQDA mainly to tag different parts of a text, and for some reason annotations are not saved. When I annotate a line/word and hit "save", a yellow [Annotation] tag appears, but when I click it the text box that pops up is blank.

Here's what's displayed on the terminal:

Error in fontColors() : could not find function "fontColors"
In addition: Warning message:
In rsqlite_fetch(res at ptr, n = n) :
Don't need to call dbFetch() for statements, only for queries

Any idea why this happens and what I could to to fix it? It is kind of a bummer, as the tagging/coding works wonders!

Thanks

SD

RQDA: advanced data export / visualization options ?

Hey, all I am relatively new to coding, using R / R Studio and RQDA. I wonder if there is a way to use commands in R Studio or options in RQDA interface to:

  • plot how the codes are interrelated (and indicate the number of connections) between the codes
  • alternatively, generate counts in a table / another format per selected code categories and case/file category or somehow count the attributes for codes - a combination of code categories
  • export / visualize the codings for one code and see other code categories in which the same codings were included (partially or entirely)

Thanks :)

RQDA project union

Hi, I need help with the RQDA library, when coding a research work, it is required to create 3 different projects, once the work of each one is finished, it is required to unify the three RQDA files into one, do you have any idea how you can do that union or someone who can help us? I need this urgently and I have not found anything about it on the web. Of course, the idea that each object of the projects does not repeat each other is respected.

Implement REFI: QDA-XML Exchange Standard for interoperability with other QDA Software

RQDA is a great tool - I believe the adoption of the QDA-XML Standard implemented by all major commercial QDA software would make RQDA a safe haven for a lot of analysis currently locked in proprietary formats. It would also allow RQDA users to more easily work together with users of other QDA. It might even facilitate the implementation of the oft-requested merge tool for RQDA projects #21 and would also address this issue: #22 (seems QDA_XML serves the same purpose as TEI but has more traction)

TEI Export

It would be great if RQDA offered support for TEI (http://www.tei-c.org/), the XML standard to exchange qualitative research.

The CATMA project (http://catma.de/) offers this (Github: https://github.com/mpetris/catma), and perhaps this is not too difficult to implement if you can use/look at their code?

TEI export (and even import?) would probably make RQDA even more the go-to choice for open source QDA!

Package was archived on CRAN

The package was removed from CRAN because it depends on the deprecated gWidgets package.

Do you plan to port RQDA to gWidgets2?

Deleting a file does not remove it from the database

Using 0.2-8. If you import a file (CSV in my case), delete it and then try to re-import it, an error: 'A file with the same name exists in the database' appears. It looks like the entry is not being deleted from the source table when it is removed.

RQDA sluggish

Dear Contributors,

Apple just created an update in Sierra, and I have noticed that RQDA has gone down to a crawl. It's so slow that it's almost not worth uploading the software. Has anyone else had this issue? and Are there ways to speed up RQDA? I have loved it up until this point. Help?

Additionally, I've gotten these two messages from RQDA in the R console:

"Error in rsqlite_send_query(conn@ptr, statement) :
external pointer is not valid"

...and...

"Error: attempt to call 'scrollToIter' on invalid reference 'view'"

Thank you,

Mario

Calculating inter-coder reliability coefficient

The documentation here suggests that it should be possible to calculate the inter-coder reliability coefficient:

"Name of coder" is the name of the analyst. This is crucial if there is more than one analysts, and also crucial for the calculation of the inter-coder reliability coefficient. Thus, you should always set this parameter.

However, I haven't seen any functions or instructions for how to do this. Could you provide guidance on the best way to calculate the reliability coefficient? Thanks!

getMemos() function could not retrieve all the memos correctly

I tried getMemos() function to retrieve all the coding memos I input while coding the files. But it only gets 3 of them and I have much more than that. Did I understand it wrong that it's not supposed to retrieve the coding memo and it's for the file memo? Or the function is still under development?

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.