Git Product home page Git Product logo

apps-gorm's Introduction

apps-gorm

CI

Introduction

  • Gorm is an acronym for Graphic Object Relationship modeler (or perhaps GNUstep Object Relationship Modeler).
  • Gorm is a clone of the Cocoa (OpenStep/NeXTSTEP) 'Interface Builder' application for GNUstep.
  • Gorm is part of the GNUstep project, and is copyrighted by the Free Software Foundation.
  • Gorm is released under the GPL - see the file 'COPYING' for details.
  • Documentation for Gorm is located in the Documentation directory.
  • Please see the README files in each of the subdirectories for more complete information.

Organization

  • Gorm is comprised of the GormCore, InterfaceBuilder, and GormObjCHeaderParser libraries/frameworks as well as the Gorm application and gormtool
  • The purpose of this organization is so that Gorm's functionality can be re-used in other applications.

Status

Gorm is usable and stable. Please report bugs here

Acknowledgements

  • Icons - Mostly by Andrew Lindsay. Gorm application icon by Jesse Ross.
  • Code - GormViewKnobs.m adapted from code by Gerrit van Dyk.

apps-gorm's People

Contributors

afedor avatar alexmyczko avatar buzzdeee avatar david-ayers avatar davidchisnall avatar enzuru avatar ericwa avatar fredkiefer avatar gcasa avatar germangt avatar iamleeg avatar iooi-sqar avatar ljulliar avatar mirkoevo avatar ngrewe avatar nico-31415 avatar ratmice avatar rfm avatar rmottola avatar trunkmaster avatar wlux avatar

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

apps-gorm's Issues

Non-resizable windows get loaded improperly

If you have a interface with a window, commonly a NSPanel, and disallow Resizing (Attributes pane, uncheck "Resize Bar"), then saving the window and reloading the interface file will result in the window changing sizes.
It will always add the size of the resize-bar to itself.

Due to the bottom-to-top nature, this results in me having to move my objects up. Every single time.
Sometimes it is a pretty destructive process and I just redo the whole thing.

Custom NSView for NSWindow.

Hello! I'm learning ObjC/GNUstep and to do so I've been watching some Xcode/Cocoa videos on youtube.

For my app, I'd like to use an NSGradient for the background depending on the content of the window. It looks like in Apple's Interface Builder there is a way to specify a custom class for the NSWindow's NSView object where one can override the drawRect() method. Is there a way to do the same in Gorm?

Is this the right venue for this kind of questions? Or should I instead send an email to the discuss mailing list? ([email protected]).

Gorm selection issue: Selects NSMatrix subcontents on second selection.

Steps to reproduce...

  1. open Gorm
  2. New Application
  3. drag a button into the window
  4. Format -> Group -> Group In Matrix
  5. Expand the number of rows/columns if you like.
  6. Format -> Group -> Group in Scroll View
  7. Click on scroll view... (scroll view should be selected)
  8. Click on matrix (matrix should be selected)
  9. Click on button in matrix (buttoncell should be selected)
  10. unselect the scroll view by clicking in the window.
  11. Reselect the scroll view, then click on the matrix

RESULT: The buttoncell is selected instead of the matrix. After the first selection, it does not allow selection of the matrix.
EXPECTED: the NSMatrix instance SHOULD be selected and inspectable.

Implement support for bindings

Gorm needs to support bindings. This has been a feature since MacOS 10.5 and GUI has supported it for several years, but Gorm cannot display the connections.

Implement library

Determine a way to do this that doesn't conflict with Palettes. A library in IB is basically a list of objects that can be included. It avoids the cluttered nature of palettes.

Column unselecting/resizing doesn't work when TableView has one column

Steps to reproduce:

  1. Create a TableView with one column (by default Gorm creates one with 2 columns).
  2. Select the column to highlight it.
  3. Try to unselect. It doesn't work, neither clicking on it nor on empty space around.
    Resizing is unavailable too. The corresponding cursor doesn' t appear over the column title border.
  4. The only solution is to select the TableView and change its layout to 2 columns temporarily.

Changed column attributes are not stored

Steps to reproduce:

  1. Select a column of a TableView
  2. Change its attribute 'Editable' (by default it is checked, i unchecked it)
  3. The menu item 'Save' is inactive so I changed additionally something else to activate it
  4. Saving
  5. Reopen the gorm file - the column attribute 'Editable' is still checked

Issue building Gorm on Windows 10/MiNGW-w64

I believe this is due a recent change in gnustep-make. Building Gorm fails in the following way:

Compiling file MenusPalette.m ...
Compiling file inspectors.m ...
Linking palette 0Menus ...
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ./obj/0Menus.obj/GormMenuEditor.m.o:C:\msys64\home\gregc\gnustep\apps-gorm\Palettes\0Menus/GormMenuEditor.m:358: undefined reference to __imp_IBMenuPboardType' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ./obj/0Menus.obj/GormMenuEditor.m.o:C:\msys64\home\gregc\gnustep\apps-gorm\Palettes\0Menus/GormMenuEditor.m:448: undefined reference to __imp_IBMenuPboardType'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ./obj/0Menus.obj/GormMenuEditor.m.o:C:\msys64\home\gregc\gnustep\apps-gorm\Palettes\0Menus/GormMenuEditor.m:502: undefined reference to findAllSubmenus' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ./obj/0Menus.obj/GormMenuEditor.m.o:C:\msys64\home\gregc\gnustep\apps-gorm\Palettes\0Menus/GormMenuEditor.m:540: undefined reference to __imp_IBMenuPboardType'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ./obj/0Menus.obj/GormMenuEditor.m.o: in function -[GormMenuEditor draggingEntered:]': C:\msys64\home\gregc\gnustep\apps-gorm\Palettes\0Menus/GormMenuEditor.m:542: undefined reference to __imp_IBMenuPboardType'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ./obj/0Menus.obj/GormMenuEditor.m.o:C:\msys64\home\gregc\gnustep\apps-gorm\Palettes\0Menus/GormMenuEditor.m:557: undefined reference to __imp_IBMenuPboardType' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ./obj/0Menus.obj/GormMenuEditor.m.o:C:\msys64\home\gregc\gnustep\apps-gorm\Palettes\0Menus/GormMenuEditor.m:656: undefined reference to __imp_IBMenuPboardType'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ./obj/0Menus.obj/GormMenuEditor.m.o:C:\msys64\home\gregc\gnustep\apps-gorm\Palettes\0Menus/GormMenuEditor.m:738: undefined reference to __imp_IBMenuPboardType' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ./obj/0Menus.obj/GormMenuEditor.m.o:C:\msys64\home\gregc\gnustep\apps-gorm\Palettes\0Menus/GormMenuEditor.m:758: more undefined references to __imp_IBMenuPboardType' follow
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ./obj/0Menus.obj/GormMenuEditor.m.o:GormMenuEditor.m:(.rdata$.refptr.GormLinkPboardType[.refptr.GormLinkPboardType]+0x0): undefined reference to GormLinkPboardType' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ./obj/0Menus.obj/GormNSMenu.m.o:C:\msys64\home\gregc\gnustep\apps-gorm\Palettes\0Menus/GormNSMenu.m:124: undefined reference to __imp_IBSelectionChangedNotification'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ./obj/0Menus.obj/GormNSMenu.m.o:C:\msys64\home\gregc\gnustep\apps-gorm\Palettes\0Menus/GormNSMenu.m:209: undefined reference to __imp_IBSelectionChangedNotification' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ./obj/0Menus.obj/GormMenuItemAttributesInspector.m.o:GormMenuItemAttributesInspector.m:(.data+0xde0): undefined reference to __objc_class_name_IBInspector'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ./obj/0Menus.obj/GormMenuAttributesInspector.m.o:GormMenuAttributesInspector.m:(.data+0xb78): undefined reference to __objc_class_name_IBInspector' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ./obj/0Menus.obj/MenusPalette.m.o:C:\msys64\home\gregc\gnustep\apps-gorm\Palettes\0Menus/MenusPalette.m:118: undefined reference to __imp_IBMenuPboardType'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ./obj/0Menus.obj/MenusPalette.m.o: in function -[MenusPalette finishInstantiate]': C:\msys64\home\gregc\gnustep\apps-gorm\Palettes\0Menus/MenusPalette.m:161: undefined reference to __imp_IBMenuPboardType'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\msys64\home\gregc\gnustep\apps-gorm\Palettes\0Menus/MenusPalette.m:218: undefined reference to __imp_IBMenuPboardType' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\msys64\home\gregc\gnustep\apps-gorm\Palettes\0Menus/MenusPalette.m:260: undefined reference to __imp_IBMenuPboardType'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\msys64\home\gregc\gnustep\apps-gorm\Palettes\0Menus/MenusPalette.m:302: undefined reference to __imp_IBMenuPboardType' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ./obj/0Menus.obj/MenusPalette.m.o:C:\msys64\home\gregc\gnustep\apps-gorm\Palettes\0Menus/MenusPalette.m:345: more undefined references to __imp_IBMenuPboardType' follow
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ./obj/0Menus.obj/MenusPalette.m.o:MenusPalette.m:(.data+0x1d50): undefined reference to `__objc_class_name_IBPalette'
collect2.exe: error: ld returned 1 exit status
make[5]: *** [/usr/GNUstep/System/Library/Makefiles/Instance/palette.make:141: 0Menus.palette/./0Menus.dll] Error 1
make[4]: *** [/usr/GNUstep/System/Library/Makefiles/Instance/palette.make:125: internal-palette-run-compile-submake] Error 2
make[3]: *** [/usr/GNUstep/System/Library/Makefiles/Master/rules.make:297: 0Menus.all.palette.variables] Error 2
make[2]: *** [/usr/GNUstep/System/Library/Makefiles/Master/palette.make:38: internal-all] Error 2
make[1]: *** [/usr/GNUstep/System/Library/Makefiles/Master/serial-subdirectories.make:53: internal-all] Error 2
make: *** [/usr/GNUstep/System/Library/Makefiles/Master/serial-subdirectories.make:53: internal-all] Error 2

gregc@mother-vm-win MINGW64 ~/gnustep/apps-gorm
$

Failure to load GormConnectionInspector model for objects

Hi, there seems to be a problem preventing the connection inspector, specifically for objects, from being loaded.

I must say thought, this does seem like it would be such a commonly used feature that someone would have already encountered it, so I do wonder if this is a local issue (using Debian 11).

Regardless, the steps to reproduce are:

  1. Create a new Gorm project.
  2. Select any object under the "Objects" pane of the main Gorm document window.
  3. Go to the Inspector window and use the pop-up button at the top of the window to select the "Connections" option.

This results in the view failing to load and the pop-up menu getting awkwardly stuck on the screen. Continuing to try and open it will eventually result in a segmentation fault.

Gorm itself emits messages about what is occurring via standard out/error, which looks as follow each time the above is attempted:

Exception occurred while loading model: expected double and got int
Failed to load Gorm
Couldn't load GormConnectionInsector

The "Couldn't load GormConnectionInsector" (message seems to have a slight typo too) originates on line 95 of GormConnectionInspector.m, where I assume the serialized nib is loaded from local storage, and somewhere in the collection of classes it houses (or maybe inherits from), an incorrect value is provided for the specific data type it's expecting.

Again, I could see this possibly being an issue specific to my version of the application, and I am still very new to Objective-C and GNUStep, so my assumptions above could be incorrect. I cloned the copy of Gorm I'm using from this repository on Monday and compiled it with a version of the core libraries that I downloaded (also from these project's Github) a few months ago (maybe that could be part of it). So if this is a non-issue, please disregard.

Thank you.

Font system menu is not connected to NSFontManager

NSFontManager needs to have access to system's Font menu so that it can manage menu items based on current selection (e.g. setting "bold" or "unbold")
This can be either be done by letting NSFontManager to create system Font menu or be assigning Fonts menu to NSFontManager programmatically.

When NSFontManager and Font menu are both created by Gorm, there is no way how one can connect the Fonts menu to the NSFontManager.
NSFontManager shows "menu" as outlet but as it is impossible to select NSMenu itself (only NSMenuItem can be selected), the connection cannot be done manually.

Alternative approach could be to simply find Font system menu at runtime and assign it to NSFontManager (I believe that's what NextStep and Mac OS does).

Gorm unknown installation issue

Hi,

I have an unknown problem when installing gorm(1.2.20) on linux. I followed the instructions both from www.gnustep.net, gnustep.made-it.com, and from the INSTALL file, but all these instructions failed. I tried to read the makefile, search for bugs and so on, but I could not find anything (maybe because I'm just a beginner). I'm getting the following errors on kali linux 2.0(debian):

# * make && make install
bash: ANNOUNCE: command not found.

make GNUSTEP_INSTALLATION_DIR="$GNUSTEP_SYSTEM_ROOT" install

GNUmakefile:29: /common.make: Arquivo ou diretório não encontrado(File or directory not found)

GNUmakefile:182: /aggregate.make: Arquivo ou diretório não encontrado

GNUmakefile:183: /application.make: Arquivo ou diretório não encontrado

make: *** No rule to make target '/application.make'. Stop.

ps: the first one is the instruction that is inside of INSTALL, but I noticed that "make" is doing something with all the files in the directory, and since I don't have any experience in makefiles(yet, maybe in some weeks...), there are nothing I cold do...

Thanks for the attention. I (in the future, because I think I haven't enought programming experience yet) would like to help in this project :)

Att,
Lucas. from Brazil.

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.