private void populate() {
            var table = getPopTable();
            table.clearChildren();
    
            table.pad(10);
            table.defaults().space(10).fillX();
            var hideListener = new ChangeListener() {
                @Override
                public void changed(ChangeEvent event, Actor actor) {
                    table.hide();
                }
            };
            
            var textButton = new TextButton("Image File", getSkin(), "new");
            table.add(textButton);
            textButton.addListener(handListener);
            textButton.addListener(hideListener);
            textButton.addListener(new ChangeListener() {
                @Override
                public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                    Gdx.graphics.setSystemCursor(Cursor.SystemCursor.Arrow);
                    newDrawableDialog();
                }
            });
    
            if (showing9patchButton) {
                table.row();
                textButton = new TextButton("Custom Placeholder", getSkin(), "new");
                table.add(textButton);
                textButton.addListener(handListener);
                textButton.addListener(hideListener);
                textButton.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        Gdx.graphics.setSystemCursor(Cursor.SystemCursor.Arrow);
                        customDrawableDialog();
                    }
                });
    
                table.row();
                textButton = new TextButton("Add pixel", getSkin(), "new");
                table.add(textButton);
                textButton.addListener(handListener);
                textButton.addListener(hideListener);
                textButton.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        Gdx.graphics.setSystemCursor(SystemCursor.Arrow);
                        pixelDrawableDialog();
                    }
                });
    
                table.row();
                textButton = new TextButton("Create 9-Patch", getSkin(), "new");
                table.add(textButton);
                textButton.addListener(handListener);
                textButton.addListener(hideListener);
                textButton.addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeListener.ChangeEvent event, Actor actor) {
                        Gdx.graphics.setSystemCursor(Cursor.SystemCursor.Arrow);
                        desktopWorker.removeFilesDroppedListener(filesDroppedListener);
                        dialogFactory.showDialog9Patch(atlasData.getDrawablePairs(),
                                new Dialog9Patch.Dialog9PatchListener() {
                                    @Override
                                    public void fileSaved(FileHandle fileHandle) {
                                        if (fileHandle.exists()) {
                                            drawablesSelected(new Array<>(new FileHandle[]{fileHandle}));
                                            desktopWorker.addFilesDroppedListener(filesDroppedListener);
                                        }
                                    }
                            
                                    @Override
                                    public void cancelled() {
                                        desktopWorker.addFilesDroppedListener(filesDroppedListener);
                                    }
                                });
                    }
                });
            }
        }
Recreates the drawables array only including visible drawables.
core/src/com/ray3k/skincomposer/dialog/DialogDrawables.java