Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Galileo Sartor
    @LyzardKing
    tinylog does look interesting!
    Oliver Kopp
    @koppor
    I :heart: tinylog
    We should really give it a try
    We accept that newcomers might not be used to it.
    (Call for an ADR ^^)
    Christoph
    @Siedlerchr
    Tinylog should be compatible without much change, they have an slf4j binding as well
    Oliver Kopp
    @koppor
    The idea is to use TinyLog directly to gain performance improvements
    We should measure it somehow
    See JabRef/jabref#3015 for details
    Ok, as a first step, just replacing the log binding would be sufficient ^^
    Christoph
    @Siedlerchr
    Seems not yet to work with slf42
    We chose slf4j because it provides the same logging interface/façade and so the underlying implementation can be changed easily
    Asad-Meraj
    @Asad-Meraj
    hi there
    I have installed workspace for jabref using eclipse IDE
    I have encountered an error while running the main java file
    The error is as follows
    WhatsApp Image 2020-10-21 at 16.52.51.jpeg
    i need help here please
    Christoph
    @Siedlerchr
    for newcomers Intelij is recommended
    Oliver Kopp
    @koppor

    We chose slf4j because it provides the same logging interface/façade and so the underlying implementation can be changed easily

    By switching to TinyLog, we accept that SLF4J cannot be used any more. --> We want to work on the startup time and the memory consumption. Thus, we want to remove unnecessary layers. Thus, we watned to play with TinyLog.

    We accept that newcomers might not be used to it.

    This was the short form of the last step. - With tinylog: Logger.debug("something"); without tinylog:

    private static final Logger Logger= LoggerFactory.getLogger(LayoutEntry.class);
    
    ...
    
    Logger.debug("something");
    aslam karachiwala
    @akwala

    ./gradlew javadoc failed, complaining that two packages were not visible/exported to org.jabref.

    The two packages in question are the ones in the addExports list in the moduleOptions of the compileJava task, so I copied them into the moduleOptions of the javadoc task:

    javadoc {
        options {
            encoding = 'UTF-8'
            version = true
            author = true
        }
        moduleOptions {
            // TODO: Remove access to internal api
            addExports = [
                    'javafx.controls/com.sun.javafx.scene.control' : 'org.jabref',
                    'org.controlsfx.controls/impl.org.controlsfx.skin' : 'org.jabref'
            ]
        }
    }

    This eliminated the error for impl.org.controlsfx.skin but the error persists for com.sun.javafx.scene.control:

    /path/to/jabref/src/main/java/org/jabref/gui/actions/ActionFactory.java:19: error: package com.sun.javafx.scene.control is not visible
    
    import com.sun.javafx.scene.control.ContextMenuContent;
    
                               ^
    
      (package com.sun.javafx.scene.control is declared in module javafx.controls, which does not export it to module org.jabref)
    
    /path/to/jabref/src/main/java/org/jabref/gui/fieldeditors/TextInputControlBehavior.java:28: error: package com.sun.javafx.scene.control is not visible
    
    import com.sun.javafx.scene.control.Properties;
    
                               ^
    
      (package com.sun.javafx.scene.control is declared in module javafx.controls, which does not export it to module org.jabref)
    
    2 errors

    Anyone know how to fix this?

    Christoph
    @Siedlerchr
    @akwala I can reprouce this as well, guess it has something to do with the java modularirty plugin. I will report a bug
    aslam karachiwala
    @akwala
    @Siedlerchr thanks.
    Jonatan Asketorp
    @k3KAW8Pnf7mkmdSMPHz27
    Hello everyone, is there anyone who knows any good reading/method for dealing with cycles in JavaFX bindings? My Google-fu appears to be failing me, and the best method I've found so far just attempts to do cycle detection before adding the bindings.
    Christoph
    @Siedlerchr
    The question would be what you want to achieve. @tobiasdiez has the best javafx knowledge
    Jonatan Asketorp
    @k3KAW8Pnf7mkmdSMPHz27

    Basically, I am a bit stuck on JabRef/jabref#6394 and am trying to figure out how groups ideally should work in the GUI.
    This specific example might not be possible right now but demonstrates the issue. If

    1. group A contains all entries not in group B, and
    2. group B contains all entries in group A

    for arguments sake, what group color should it have and how should it be updated without creating an update cycle?

    Jonatan Asketorp
    @k3KAW8Pnf7mkmdSMPHz27
    Essentially, my guess is that some of the groups' features should be able to create cycles if they are updated with JavaFX bindings. I can open up a GitHub issue regarding it if there are no "standard" approach for dealing with cycles. I'd guess it is a better format for providing examples and code references?
    Christoph
    @Siedlerchr
    Ah I see, that sounds complicated. With cycles we have to be careful not no trigger an endless loop. I suggest you comment your ideas under the issue
    Jonatan Asketorp
    @k3KAW8Pnf7mkmdSMPHz27
    (Y) I'll see if I can make a write-up that makes a bit more sense :P
    Tobias Diez
    @tobiasdiez
    I think what you are looking for is the bindBidirectional method. We also have a version of this method in either EasyBind or BindingsHelper for more complicated updates, where you can specify the update process in some detail using custom update functions without running in endless update loops.
    Jonatan Asketorp
    @k3KAW8Pnf7mkmdSMPHz27
    Ok, thanks! I'll play around with it. It might be that the updateLocked is enough or can be extended.
    Luis Valdez
    @luis-valdez

    Hello guys, I'm currently working on JabRef/jabref#6959 and I'm having some trouble.
    Basically what I'm trying to do is to create a validation to verify if there is a sharedDatabase in use, in order to bind it in the PullChangesFromSharedAction.java. Something like this:

        public PullChangesFromSharedAction(StateManager stateManager) {
            this.stateManager = stateManager;
            this.executable.bind(ActionHelper.needsDatabase(stateManager));
            this.executable.bind(ActionHelper.needsSharedDataBase(stateManager));
        }

    I'm currenttly trying this approach to make the validation:

        public static BooleanExpression needsSharedDataBase(StateManager stateManager){
            return Bindings.createBooleanBinding( () ->
                    stateManager.getActiveDatabase().ifPresent(bibDatabaseContext ->
                            bibDatabaseContext.getLocation() == DatabaseLocation.SHARED)); ;
        }

    This is not currently working of course, but I think the idea is there. If you guys could point me in the right direction to fix this I would really appreciate it.

    1 reply
    Johan Del Valle
    @JohanDelValleV
    Hey guys I'm new to this project and I took an issue and wondering where can I find the input fields for optional fields if anyone can help me I would appreciate it
    Christoph
    @Siedlerchr
    Hi the optional fields are defined for each entry type. The entry editor iterates over all fields of an entry and adds them to the specific tabs based on the type (required/optional)
    So you need to create a new entry, e.g.article
    To the main table
    And then open the entry editor
    Johan Del Valle
    @JohanDelValleV
    Ok thank you, just another question. How do you pass the data from textfields to the preview?
    Jonatan Asketorp
    @k3KAW8Pnf7mkmdSMPHz27
    Are you referring to the PreviewViewer.java?
    (in which case it add itself as a listener to BibEntry's getObservables)
    Johan Del Valle
    @JohanDelValleV
    Yes, thanks a lot!
    3 replies
    Johan Del Valle
    @JohanDelValleV
    image.png
    17 replies
    Quick questions, how is this data is parsed to the preview?
    I'm trying to look for the method or class but I can't find it