├── .gitignore ├── Apache-POI ├── LICENSE ├── build.xml ├── manifest.mf ├── nbproject │ ├── build-impl.xml │ ├── genfiles.properties │ ├── project.properties │ ├── project.xml │ └── suite.properties ├── release │ └── modules │ │ └── ext │ │ ├── SparseBitSet-1.2.jar │ │ ├── batik-all-1.13.jar │ │ ├── bcpkix-jdk15on-1.68.jar │ │ ├── bcprov-jdk15on-1.68.jar │ │ ├── commons-codec-1.15.jar │ │ ├── commons-collections4-4.4.jar │ │ ├── commons-compress-1.20.jar │ │ ├── commons-math3-3.6.1.jar │ │ ├── curvesapi-1.06.jar │ │ ├── fontbox-2.0.22.jar │ │ ├── graphics2d-0.30.jar │ │ ├── pdfbox-2.0.22.jar │ │ ├── poi-5.0.0.jar │ │ ├── poi-ooxml-5.0.0.jar │ │ ├── poi-ooxml-full-5.0.0.jar │ │ ├── poi-scratchpad-5.0.0.jar │ │ ├── xml-apis-ext-1.3.04.jar │ │ ├── xmlbeans-4.0.0.jar │ │ ├── xmlgraphics-commons-2.4.jar │ │ └── xmlsec-2.2.1.jar └── src │ └── org │ └── joeffice │ └── poi │ └── Bundle.properties ├── CHANGELOG.md ├── Database ├── build.xml ├── manifest.mf ├── nbproject │ ├── build-impl.xml │ ├── genfiles.properties │ ├── project.properties │ ├── project.xml │ └── suite.properties └── src │ └── org │ └── joeffice │ └── database │ ├── Bundle.properties │ ├── FieldsPanel.java │ ├── H2DataObject.java │ ├── H2Description.html │ ├── H2Template.h2.db │ ├── HighlightCellRenderer.java │ ├── JDBCTopComponent.java │ ├── ManageTableTopComponent.java │ ├── TableComponent.java │ ├── actions │ ├── AddEntryAction.java │ ├── FilterAction.java │ ├── ManageDatabaseAction.java │ ├── ManageTableAction.java │ ├── NextResultsAction.java │ ├── PreviousResultsAction.java │ ├── RemoveRowsActions.java │ ├── ViewColumnsAction.java │ ├── arrow_left.png │ ├── arrow_left24.png │ ├── arrow_right.png │ ├── arrow_right24.png │ ├── database_edit.png │ ├── database_edit24.png │ ├── database_gear.png │ ├── database_gear24.png │ ├── database_key.png │ ├── database_key24.png │ ├── tab_delete.png │ ├── tab_delete24.png │ ├── table_add.png │ ├── table_add24.png │ ├── table_gear.png │ ├── table_gear24.png │ ├── table_lightning.png │ ├── table_lightning24.png │ ├── table_row_delete.png │ ├── table_row_delete24.png │ ├── table_row_insert.png │ └── table_row_insert24.png │ ├── database-16.png │ ├── h2-db-resolver-definition.xml │ ├── package-info.java │ └── tablemodel │ ├── JDBCSheet.java │ └── TableMetaDataModel.java ├── Desktop ├── build.xml ├── manifest.mf ├── nbproject │ ├── build-impl.xml │ ├── genfiles.properties │ ├── project.properties │ ├── project.xml │ └── suite.properties └── src │ └── org │ └── joeffice │ └── desktop │ ├── AppearanceOptionsPanelController.java │ ├── AppearancePanel.form │ ├── AppearancePanel.java │ ├── Bundle.properties │ ├── Bundle_fr.properties │ ├── Installer.java │ ├── Standard.xml │ ├── WelcomeTopComponent.form │ ├── WelcomeTopComponent.java │ ├── actions │ ├── AlignmentAction.java │ ├── BackgroundColorAction.java │ ├── BoldAction.java │ ├── CenterAlignAction.java │ ├── ChooseFontAction.java │ ├── EditorFindable.java │ ├── EditorStyleable.java │ ├── ExtraTextAttribute.java │ ├── FontSizeAction.java │ ├── FontSizeDecrementAction.java │ ├── FontSizeIncrementAction.java │ ├── ForegroundColorAction.java │ ├── IndentationAction.java │ ├── ItalicAction.java │ ├── JustifyAlignAction.java │ ├── LeftAlignAction.java │ ├── NewFileAction.java │ ├── OfficeAction.java │ ├── OpenAction.java │ ├── OpenInSystemAction.java │ ├── OpenRecentAction.java │ ├── PlainStyleAction.java │ ├── RightAlignAction.java │ ├── StrikeThroughAction.java │ ├── SubscriptAction.java │ ├── SuperscriptAction.java │ ├── TextTransformer.java │ ├── ToLowerCaseAction.java │ ├── ToUpperCaseAction.java │ ├── UnderlineAction.java │ ├── add.png │ ├── add24.png │ ├── color_swatch.png │ ├── color_swatch24.png │ ├── folder_table.png │ ├── folder_table24.png │ ├── font.png │ ├── font24.png │ ├── tag_blue_edit.png │ ├── tag_blue_edit24.png │ ├── text_align_center.png │ ├── text_align_center24.png │ ├── text_align_justify.png │ ├── text_align_justify24.png │ ├── text_align_left.png │ ├── text_align_left24.png │ ├── text_align_right.png │ ├── text_align_right24.png │ ├── text_bold.png │ ├── text_bold24.png │ ├── text_italic.png │ ├── text_italic24.png │ ├── text_lowercase.png │ ├── text_lowercase24.png │ ├── text_strikethrough.png │ ├── text_strikethrough24.png │ ├── text_subscript.png │ ├── text_subscript24.png │ ├── text_superscript.png │ ├── text_superscript24.png │ ├── text_underline.png │ ├── text_underline24.png │ ├── text_uppercase.png │ └── text_uppercase24.png │ ├── docs │ ├── desktop-about.html │ ├── desktop-hs.xml │ ├── desktop-idx.xml │ ├── desktop-map.xml │ ├── desktop-toc.xml │ └── package-info.java │ ├── favoritesWstcref.xml │ ├── file │ └── OfficeDataObject.java │ ├── layer.xml │ └── ui │ ├── Findable.java │ ├── FontListTopComponent.java │ ├── OfficeTopComponent.java │ ├── OfficeTransferHandler.java │ ├── OfficeUIUtils.java │ ├── Styleable.java │ └── TextUndoManager.java ├── Drawing ├── build.xml ├── manifest.mf ├── nbproject │ ├── build-impl.xml │ ├── genfiles.properties │ ├── project.properties │ ├── project.xml │ └── suite.properties └── src │ └── org │ └── joeffice │ └── drawing │ ├── Bundle.properties │ ├── DrawingTopComponent.java │ ├── SvgDataObject.java │ ├── SvgTemplate.svg │ ├── drawing-16.png │ └── package-info.java ├── H2 ├── build.xml ├── h2-license.html ├── manifest.mf ├── nbproject │ ├── build-impl.xml │ ├── genfiles.properties │ ├── project.properties │ ├── project.xml │ └── suite.properties ├── release │ └── modules │ │ └── ext │ │ └── h2-1.4.200.jar └── src │ └── org │ └── joeffice │ └── h2 │ └── Bundle.properties ├── JUniversalCharDet ├── build.xml ├── juniversalchardet-license.txt ├── manifest.mf ├── nbproject │ ├── build-impl.xml │ ├── genfiles.properties │ ├── project.properties │ ├── project.xml │ └── suite.properties ├── release │ └── modules │ │ └── ext │ │ └── juniversalchardet-2.4.0.jar └── src │ └── org │ └── joeffice │ └── universalchardet │ └── Bundle.properties ├── JavaHelp ├── build.xml ├── javahelp-license.txt ├── manifest.mf ├── nbproject │ ├── build-impl.xml │ ├── genfiles.properties │ ├── project.properties │ ├── project.xml │ └── suite.properties ├── release │ └── modules │ │ └── ext │ │ └── javahelp-2.0.05.jar └── src │ └── org │ └── joeffice │ └── javahelp │ └── Bundle.properties ├── LICENSE ├── Presentation ├── build.xml ├── manifest.mf ├── nbproject │ ├── build-impl.xml │ ├── genfiles.properties │ ├── project.properties │ ├── project.xml │ └── suite.properties └── src │ └── org │ └── joeffice │ └── presentation │ ├── Bundle.properties │ ├── FullScreenFrame.java │ ├── FullScreenListener.java │ ├── PptxDataObject.java │ ├── PptxDescription.html │ ├── PptxTemplate.pptx │ ├── ShapeComponent.java │ ├── SlideComponent.java │ ├── SlideNotesTopComponent.java │ ├── SlideThumbnailsTopComponent.java │ ├── SlidesTopComponent.java │ ├── actions │ ├── BackgroundColorAction.java │ ├── ChooseLayoutAction.java │ ├── FirstSlideAction.java │ ├── LastSlideAction.java │ ├── LaunchPresentationAction.java │ ├── NewSlideAction.java │ ├── NextSlideAction.java │ ├── PreviousSlideAction.java │ ├── RemoveSlideAction.java │ ├── SwitchScreensAction.java │ ├── application_add.png │ ├── application_add24.png │ ├── application_delete.png │ ├── application_delete24.png │ ├── application_double.png │ ├── application_double24.png │ ├── arrow_left.png │ ├── arrow_left24.png │ ├── arrow_right.png │ ├── arrow_right24.png │ ├── picture_empty.png │ └── picture_empty24.png │ ├── package-info.java │ └── presentation-16.png ├── README.md ├── Spreadsheet ├── README.md ├── build.xml ├── manifest.mf ├── nbproject │ ├── build-impl.xml │ ├── genfiles.properties │ ├── project.properties │ ├── project.xml │ └── suite.properties └── src │ └── org │ └── joeffice │ └── spreadsheet │ ├── Bundle.properties │ ├── JoefficeWorkbookFactory.java │ ├── SheetComponent.java │ ├── SheetTable.java │ ├── SpreadsheetComponent.java │ ├── SpreadsheetTopComponent.java │ ├── TableStyleable.java │ ├── TableTransferHandler.java │ ├── XlsDataObject.java │ ├── XlsDescription.html │ ├── XlsDescription_fr.html │ ├── XlsTemplate.xls │ ├── XlsxDataObject.java │ ├── XlsxDescription.html │ ├── XlsxTemplate.xlsx │ ├── actions │ ├── ClipboardAction.java │ ├── ColumnFitWidthAction.java │ ├── CompleteSequenceAction.java │ ├── DeleteCellsAction.java │ ├── FormatAction.java │ ├── FormatActionDropDown.java │ ├── FormatActionFactory.java │ ├── InsertColumnAction.java │ ├── InsertRowsAction.java │ ├── InsertSheetAction.java │ ├── RemoveColumnAction.java │ ├── RemoveRowsAction.java │ ├── RemoveSheetAction.java │ ├── RenameSheetAction.java │ ├── SetBordersAction.java │ ├── ShowHideGridAction.java │ ├── application_go.png │ ├── application_go24.png │ ├── application_view_columns.png │ ├── application_view_columns24.png │ ├── application_xp.png │ ├── application_xp24.png │ ├── date.png │ ├── date24.png │ ├── money.png │ ├── money24.png │ ├── page_add.png │ ├── page_delete.png │ ├── style_edit.png │ ├── style_edit24.png │ ├── table_add.png │ ├── table_add24.png │ ├── table_delete.png │ ├── table_delete24.png │ ├── table_go.png │ ├── table_go24.png │ ├── table_row_delete.png │ ├── table_row_delete24.png │ ├── table_row_insert.png │ ├── table_row_insert24.png │ └── textfield_rename.png │ ├── cell │ ├── CellBorder.java │ ├── CellEditor.java │ ├── CellRenderer.java │ └── CellUtils.java │ ├── csv │ ├── CSVWorkbook.java │ ├── CsvDataObject.java │ ├── CsvDescription.html │ ├── CsvTemplate.csv │ ├── SmartCsvReader.java │ └── package-info.java │ ├── package-info.java │ ├── rows │ ├── JScrollPaneAdjuster.java │ ├── RowEventsListeners.java │ ├── RowHeadersRenderer.java │ ├── RowTable.java │ ├── RowTableFactory.java │ └── TableRowResizer.java │ ├── sequence │ ├── DateStringSequence.java │ ├── FreeTextSequences.properties │ ├── FreeTextSequences_fr.properties │ ├── IdentitySequence.java │ ├── NumberSequence.java │ ├── ResourceBundleSequence.java │ └── Sequence.java │ ├── sheet │ ├── SheetListener.java │ ├── SheetTableModel.java │ └── TableColumnAdjuster.java │ └── spreadsheet-16.png ├── SwingX ├── build.xml ├── lgpl-3.0.txt ├── manifest.mf ├── nbproject │ ├── build-impl.xml │ ├── genfiles.properties │ ├── project.properties │ ├── project.xml │ └── suite.properties ├── release │ └── modules │ │ └── ext │ │ ├── org.jdesktop.swingx.scrollpaneselector.jar │ │ └── swingx-all-1.6.5.jar └── src │ └── org │ └── joeffice │ └── swingx │ └── Bundle.properties ├── Tools ├── 4square.png ├── build-applet.xml ├── example.docx ├── example.pptx ├── joeffice.icns ├── joeffice.ico ├── spreadsheet.xlsx ├── src │ └── org │ │ └── joeffice │ │ ├── applet │ │ ├── FileUtils.java │ │ └── JoefficeApplet.java │ │ └── tools │ │ ├── CreateH2Database.java │ │ ├── CreatePresentationDirectories.java │ │ ├── FilterJXList.java │ │ ├── JTableCellSelection.java │ │ ├── PoiXlsxBackground.java │ │ ├── PptxShapeNotDrawn.java │ │ └── UpdateRowSet.java └── tests │ ├── Database - 1 item.h2.db │ ├── Database - 1 item.h2.db.orig │ ├── Database - empty.h2.db │ ├── Database - empty.h2.db.orig │ ├── Drawing - Joeffice.svg │ ├── Drawing - basic shapes.svg │ ├── Presentation - backgrounds.pptx │ ├── Presentation - style - include.pptx │ ├── Presentation - style - include.pptx.orig │ ├── Presentation - title - subtitle - for save.pptx │ ├── Presentation - title - subtitle.pptx │ ├── Spreadsheet - CSV - for save.csv │ ├── Spreadsheet - CSV.csv │ ├── Spreadsheet - helloworld.xls │ ├── Spreadsheet - helloworld.xlsx │ ├── Spreadsheet - style - link - image.xlsx │ ├── Spreadsheet - style.xls │ ├── Spreadsheet - style.xlsx │ ├── Spreadsheet - style.xlsx.orig │ ├── Spreadsheet - tabs - border - chart - formula.xlsx │ ├── Word - header - lists - picture - table.docx │ ├── Word - helloworld - for save.docx │ ├── Word - helloworld - for save.docx.orig │ ├── Word - helloworld.docx │ ├── Word - lists -table - gdocs.docx │ ├── Word - lists -table.docx │ ├── Word - style - TOC.docx │ ├── Word - style - for save.docx │ ├── Word - style.docx │ ├── old-doc.doc │ └── test2.h2.db ├── WordProcessor ├── README.md ├── build.xml ├── manifest.mf ├── nbproject │ ├── build-impl.xml │ ├── genfiles.properties │ ├── project.properties │ ├── project.xml │ └── suite.properties └── src │ └── org │ └── joeffice │ └── wordprocessor │ ├── BorderAttributes.java │ ├── Bundle.properties │ ├── DocumentTreeTopComponent.java │ ├── DocumentUpdater.java │ ├── DocumentUpdater2.java │ ├── DocxDataObject.java │ ├── DocxDescription.html │ ├── DocxDocument.java │ ├── DocxEditorKit.java │ ├── DocxFontUtils.java │ ├── DocxTemplate.docx │ ├── RichTextTransferHandler.java │ ├── TransferableRichText.java │ ├── WordProcessorComponent.java │ ├── WordProcessorTopComponent.java │ ├── actions │ ├── AddPictureAction.java │ ├── ShowNonPrintableCharactersAction.java │ ├── SimpleActionsFactory.java │ ├── TableAction.java │ ├── picture_add.png │ ├── picture_add24.png │ ├── pilcrow.png │ ├── pilcrow24.png │ ├── table.png │ ├── table24.png │ ├── table_add.png │ ├── table_add24.png │ ├── table_delete.png │ ├── table_delete24.png │ ├── table_row_delete.png │ ├── table_row_delete24.png │ ├── table_row_insert.png │ └── table_row_insert24.png │ ├── app │ ├── BorderControl.java │ ├── ColorComboRenderer.java │ ├── DoubleSpinEdit.java │ ├── InsertTablePanel.java │ ├── MarginsControl.java │ ├── MarginsPanel.java │ ├── ParagraphPanel.java │ ├── PixelConverter.java │ └── TableProperties.java │ ├── package-info.java │ ├── reader │ └── POIDocxReader.java │ ├── view │ ├── CellView.java │ ├── DocxViewFactory.java │ ├── RowView.java │ ├── SectionView.java │ ├── ShowParLabelView.java │ └── TableView.java │ └── wordprocessor-16.png ├── branding ├── core │ └── core.jar │ │ └── org │ │ └── netbeans │ │ └── core │ │ └── startup │ │ ├── Bundle.properties │ │ ├── frame.gif │ │ ├── frame32.gif │ │ ├── frame48.gif │ │ ├── logo.deco │ │ ├── logo.png │ │ └── splash.gif └── modules │ └── org-netbeans-core-windows.jar │ └── org │ └── netbeans │ └── core │ └── windows │ └── view │ └── ui │ └── Bundle.properties ├── build.xml ├── help.md └── nbproject ├── build-impl.xml ├── genfiles.properties ├── platform.properties ├── platform.xml ├── project.properties └── project.xml /.gitignore: -------------------------------------------------------------------------------- 1 | /build/ 2 | /nbproject/private/ 3 | /*/build/ 4 | /*/test/ 5 | /*/nbproject/private/ 6 | 7 | .DS_Store 8 | 9 | /nbbuild/nbms/ -------------------------------------------------------------------------------- /Apache-POI/build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Builds, tests, and runs the project org.joeffice.poi. 7 | 8 | 9 | -------------------------------------------------------------------------------- /Apache-POI/manifest.mf: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | AutoUpdate-Show-In-Client: true 3 | OpenIDE-Module: org.joeffice.poi 4 | OpenIDE-Module-Localizing-Bundle: org/joeffice/poi/Bundle.properties 5 | OpenIDE-Module-Specification-Version: 1.0 6 | 7 | -------------------------------------------------------------------------------- /Apache-POI/nbproject/build-impl.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | You must set 'suite.dir' to point to your containing module suite 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /Apache-POI/nbproject/genfiles.properties: -------------------------------------------------------------------------------- 1 | build.xml.data.CRC32=04486626 2 | build.xml.script.CRC32=d158850f 3 | build.xml.stylesheet.CRC32=15ca8a54@2.82 4 | # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. 5 | # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. 6 | nbproject/build-impl.xml.data.CRC32=04486626 7 | nbproject/build-impl.xml.script.CRC32=a52b8b41 8 | nbproject/build-impl.xml.stylesheet.CRC32=49aa68b0@2.82 9 | -------------------------------------------------------------------------------- /Apache-POI/nbproject/project.properties: -------------------------------------------------------------------------------- 1 | is.autoload=true 2 | license.file=${basedir}/LICENSE 3 | -------------------------------------------------------------------------------- /Apache-POI/nbproject/suite.properties: -------------------------------------------------------------------------------- 1 | suite.dir=${basedir}/.. 2 | -------------------------------------------------------------------------------- /Apache-POI/release/modules/ext/SparseBitSet-1.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Apache-POI/release/modules/ext/SparseBitSet-1.2.jar -------------------------------------------------------------------------------- /Apache-POI/release/modules/ext/batik-all-1.13.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Apache-POI/release/modules/ext/batik-all-1.13.jar -------------------------------------------------------------------------------- /Apache-POI/release/modules/ext/bcpkix-jdk15on-1.68.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Apache-POI/release/modules/ext/bcpkix-jdk15on-1.68.jar -------------------------------------------------------------------------------- /Apache-POI/release/modules/ext/bcprov-jdk15on-1.68.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Apache-POI/release/modules/ext/bcprov-jdk15on-1.68.jar -------------------------------------------------------------------------------- /Apache-POI/release/modules/ext/commons-codec-1.15.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Apache-POI/release/modules/ext/commons-codec-1.15.jar -------------------------------------------------------------------------------- /Apache-POI/release/modules/ext/commons-collections4-4.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Apache-POI/release/modules/ext/commons-collections4-4.4.jar -------------------------------------------------------------------------------- /Apache-POI/release/modules/ext/commons-compress-1.20.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Apache-POI/release/modules/ext/commons-compress-1.20.jar -------------------------------------------------------------------------------- /Apache-POI/release/modules/ext/commons-math3-3.6.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Apache-POI/release/modules/ext/commons-math3-3.6.1.jar -------------------------------------------------------------------------------- /Apache-POI/release/modules/ext/curvesapi-1.06.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Apache-POI/release/modules/ext/curvesapi-1.06.jar -------------------------------------------------------------------------------- /Apache-POI/release/modules/ext/fontbox-2.0.22.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Apache-POI/release/modules/ext/fontbox-2.0.22.jar -------------------------------------------------------------------------------- /Apache-POI/release/modules/ext/graphics2d-0.30.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Apache-POI/release/modules/ext/graphics2d-0.30.jar -------------------------------------------------------------------------------- /Apache-POI/release/modules/ext/pdfbox-2.0.22.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Apache-POI/release/modules/ext/pdfbox-2.0.22.jar -------------------------------------------------------------------------------- /Apache-POI/release/modules/ext/poi-5.0.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Apache-POI/release/modules/ext/poi-5.0.0.jar -------------------------------------------------------------------------------- /Apache-POI/release/modules/ext/poi-ooxml-5.0.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Apache-POI/release/modules/ext/poi-ooxml-5.0.0.jar -------------------------------------------------------------------------------- /Apache-POI/release/modules/ext/poi-ooxml-full-5.0.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Apache-POI/release/modules/ext/poi-ooxml-full-5.0.0.jar -------------------------------------------------------------------------------- /Apache-POI/release/modules/ext/poi-scratchpad-5.0.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Apache-POI/release/modules/ext/poi-scratchpad-5.0.0.jar -------------------------------------------------------------------------------- /Apache-POI/release/modules/ext/xml-apis-ext-1.3.04.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Apache-POI/release/modules/ext/xml-apis-ext-1.3.04.jar -------------------------------------------------------------------------------- /Apache-POI/release/modules/ext/xmlbeans-4.0.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Apache-POI/release/modules/ext/xmlbeans-4.0.0.jar -------------------------------------------------------------------------------- /Apache-POI/release/modules/ext/xmlgraphics-commons-2.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Apache-POI/release/modules/ext/xmlgraphics-commons-2.4.jar -------------------------------------------------------------------------------- /Apache-POI/release/modules/ext/xmlsec-2.2.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Apache-POI/release/modules/ext/xmlsec-2.2.1.jar -------------------------------------------------------------------------------- /Apache-POI/src/org/joeffice/poi/Bundle.properties: -------------------------------------------------------------------------------- 1 | OpenIDE-Module-Name=Apache-POI 2 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## 1.0 alpha 2 4 | 5 | ### General 6 | - Migrated from Bitbucket to GitHub 7 | - Dark mode using FlafLaf 1.0 8 | - Added Applet that allows to start Joeffice embedded in any software accepting applets 9 | 10 | ### Word Processor 11 | - Created component not dependant of NetBeans Platform that can be embedded in other Java application 12 | - Use paragraph style for attributes not defined on text 13 | - Use a default font (instead of previously used font) when no font is defined 14 | - Scale fonts to 96/72 for Windows 15 | 16 | ### Spreadsheet 17 | - Fixed missing background color for spreadsheets 18 | - Fixed copy values of cells when the cell has a formula 19 | - Added option to limit the size of the sheet up to the filled in cell 20 | - Made SheetComponent independant of SpreadsheetComponent 21 | - Scale fonts to 96/72 for Windows 22 | 23 | ### Presentation 24 | - Fixed position and size of images in slide 25 | 26 | ### libraries 27 | - Upgraded to NetBeans 12.3 (from NetBeans 8.1) 28 | -- Many improvements including the migration to the Apache license: https://github.com/apache/netbeans 29 | - Upgraded to Apache POI 5.0 (from Apache POI 3.11) 30 | -- https://poi.apache.org/changes.html 31 | - Upgraded to H2 Database 1.4.200 (from 1.3.170) 32 | -- https://h2database.com/html/changelog.html 33 | - Use Batik version that is included in Apache POI 34 | - Added JavaHelp 2.0 35 | - Fixed missing JUniversalCharDet 2.4.0 36 | 37 | ## 1.0 alpha 1 38 | 39 | - Everything was done: https://www.youtube.com/playlist?list=PLsezR6w8oWsJAKvFuv3JI34PLFFMIxLVA 40 | -------------------------------------------------------------------------------- /Database/build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Builds, tests, and runs the project org.joeffice.database. 7 | 8 | 9 | -------------------------------------------------------------------------------- /Database/manifest.mf: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | AutoUpdate-Show-In-Client: true 3 | OpenIDE-Module: org.joeffice.database 4 | OpenIDE-Module-Localizing-Bundle: org/joeffice/database/Bundle.properties 5 | OpenIDE-Module-Requires: org.openide.windows.WindowManager 6 | OpenIDE-Module-Specification-Version: 1.0 7 | 8 | -------------------------------------------------------------------------------- /Database/nbproject/build-impl.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | You must set 'suite.dir' to point to your containing module suite 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /Database/nbproject/genfiles.properties: -------------------------------------------------------------------------------- 1 | build.xml.data.CRC32=9795658e 2 | build.xml.script.CRC32=11b2dfc4 3 | build.xml.stylesheet.CRC32=15ca8a54@2.82 4 | # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. 5 | # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. 6 | nbproject/build-impl.xml.data.CRC32=9795658e 7 | nbproject/build-impl.xml.script.CRC32=0f28e07f 8 | nbproject/build-impl.xml.stylesheet.CRC32=49aa68b0@2.82 9 | -------------------------------------------------------------------------------- /Database/nbproject/project.properties: -------------------------------------------------------------------------------- 1 | javac.source=11 2 | javac.compilerargs=-Xlint -Xlint:-serial 3 | license.file=../LICENSE 4 | nbm.homepage=https://www.joeffice.com 5 | nbm.module.author=Japplis 6 | -------------------------------------------------------------------------------- /Database/nbproject/suite.properties: -------------------------------------------------------------------------------- 1 | suite.dir=${basedir}/.. 2 | -------------------------------------------------------------------------------- /Database/src/org/joeffice/database/Bundle.properties: -------------------------------------------------------------------------------- 1 | OpenIDE-Module-Display-Category=Office 2 | OpenIDE-Module-Long-Description=\ 3 | This module allows to open, edit and save database tables.\n\ 4 | Supported format is H2 databases. 5 | OpenIDE-Module-Name=Database 6 | OpenIDE-Module-Short-Description=The database part of Joeffice 7 | -------------------------------------------------------------------------------- /Database/src/org/joeffice/database/H2Description.html: -------------------------------------------------------------------------------- 1 | 2 | Database 3 | -------------------------------------------------------------------------------- /Database/src/org/joeffice/database/H2Template.h2.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Database/src/org/joeffice/database/H2Template.h2.db -------------------------------------------------------------------------------- /Database/src/org/joeffice/database/HighlightCellRenderer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.database; 17 | 18 | import java.awt.Color; 19 | import java.awt.Component; 20 | import javax.swing.JTable; 21 | import javax.swing.UIManager; 22 | import javax.swing.table.DefaultTableCellRenderer; 23 | 24 | /** 25 | * 26 | * @author Anthony Goubard - Japplis 27 | */ 28 | public class HighlightCellRenderer extends DefaultTableCellRenderer { 29 | 30 | private Color evenColor; 31 | private Color oddColor; 32 | 33 | public HighlightCellRenderer() { 34 | evenColor = UIManager.getColor("Table.background"); 35 | int colorOffset = evenColor.getBlue() > 200 ? -30 : 30; 36 | oddColor = new Color(evenColor.getRed(), evenColor.getGreen(), evenColor.getBlue() + colorOffset, evenColor.getAlpha()); 37 | } 38 | 39 | @Override 40 | public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { 41 | Component renderComponent = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); 42 | if (!isSelected) { 43 | if (row % 2 == 0) { 44 | renderComponent.setBackground(evenColor); 45 | } else { 46 | renderComponent.setBackground(oddColor); 47 | } 48 | } 49 | return renderComponent; 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /Database/src/org/joeffice/database/actions/ViewColumnsAction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.database.actions; 17 | 18 | import java.awt.event.ActionEvent; 19 | import java.awt.event.ActionListener; 20 | import org.joeffice.database.JDBCTopComponent; 21 | import org.joeffice.desktop.ui.OfficeTopComponent; 22 | import org.netbeans.swing.etable.ETable; 23 | import org.openide.awt.ActionID; 24 | import org.openide.awt.ActionReference; 25 | import org.openide.awt.ActionReferences; 26 | import org.openide.awt.ActionRegistration; 27 | import org.openide.util.NbBundle.Messages; 28 | 29 | /** 30 | * Action to allow the user to select the column to view. 31 | * 32 | * @author Anthony Goubard - Japplis 33 | */ 34 | @ActionID( 35 | category = "View/Office/Database", 36 | id = "org.joeffice.database.actions.ViewColumnsAction") 37 | @ActionRegistration( 38 | iconBase = "org/joeffice/database/actions/tab_delete.png", 39 | displayName = "#CTL_ViewColumnsAction") 40 | @ActionReferences(value = { 41 | @ActionReference(path = "Office/Database/Toolbar", position = 1050)}) 42 | @Messages({"CTL_ViewColumnsAction=View Columns", 43 | "MSG_AllColumns=All columns"}) 44 | public final class ViewColumnsAction implements ActionListener { 45 | 46 | @Override 47 | public void actionPerformed(ActionEvent e) { 48 | JDBCTopComponent currentTopComponent = OfficeTopComponent.getSelectedComponent(JDBCTopComponent.class); 49 | if (currentTopComponent != null) { 50 | ETable table = (ETable) currentTopComponent.getSelectedTableComponent().getDataTable(); 51 | table.showColumnSelectionDialog(); 52 | } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /Database/src/org/joeffice/database/actions/arrow_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Database/src/org/joeffice/database/actions/arrow_left.png -------------------------------------------------------------------------------- /Database/src/org/joeffice/database/actions/arrow_left24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Database/src/org/joeffice/database/actions/arrow_left24.png -------------------------------------------------------------------------------- /Database/src/org/joeffice/database/actions/arrow_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Database/src/org/joeffice/database/actions/arrow_right.png -------------------------------------------------------------------------------- /Database/src/org/joeffice/database/actions/arrow_right24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Database/src/org/joeffice/database/actions/arrow_right24.png -------------------------------------------------------------------------------- /Database/src/org/joeffice/database/actions/database_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Database/src/org/joeffice/database/actions/database_edit.png -------------------------------------------------------------------------------- /Database/src/org/joeffice/database/actions/database_edit24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Database/src/org/joeffice/database/actions/database_edit24.png -------------------------------------------------------------------------------- /Database/src/org/joeffice/database/actions/database_gear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Database/src/org/joeffice/database/actions/database_gear.png -------------------------------------------------------------------------------- /Database/src/org/joeffice/database/actions/database_gear24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Database/src/org/joeffice/database/actions/database_gear24.png -------------------------------------------------------------------------------- /Database/src/org/joeffice/database/actions/database_key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Database/src/org/joeffice/database/actions/database_key.png -------------------------------------------------------------------------------- /Database/src/org/joeffice/database/actions/database_key24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Database/src/org/joeffice/database/actions/database_key24.png -------------------------------------------------------------------------------- /Database/src/org/joeffice/database/actions/tab_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Database/src/org/joeffice/database/actions/tab_delete.png -------------------------------------------------------------------------------- /Database/src/org/joeffice/database/actions/tab_delete24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Database/src/org/joeffice/database/actions/tab_delete24.png -------------------------------------------------------------------------------- /Database/src/org/joeffice/database/actions/table_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Database/src/org/joeffice/database/actions/table_add.png -------------------------------------------------------------------------------- /Database/src/org/joeffice/database/actions/table_add24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Database/src/org/joeffice/database/actions/table_add24.png -------------------------------------------------------------------------------- /Database/src/org/joeffice/database/actions/table_gear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Database/src/org/joeffice/database/actions/table_gear.png -------------------------------------------------------------------------------- /Database/src/org/joeffice/database/actions/table_gear24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Database/src/org/joeffice/database/actions/table_gear24.png -------------------------------------------------------------------------------- /Database/src/org/joeffice/database/actions/table_lightning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Database/src/org/joeffice/database/actions/table_lightning.png -------------------------------------------------------------------------------- /Database/src/org/joeffice/database/actions/table_lightning24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Database/src/org/joeffice/database/actions/table_lightning24.png -------------------------------------------------------------------------------- /Database/src/org/joeffice/database/actions/table_row_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Database/src/org/joeffice/database/actions/table_row_delete.png -------------------------------------------------------------------------------- /Database/src/org/joeffice/database/actions/table_row_delete24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Database/src/org/joeffice/database/actions/table_row_delete24.png -------------------------------------------------------------------------------- /Database/src/org/joeffice/database/actions/table_row_insert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Database/src/org/joeffice/database/actions/table_row_insert.png -------------------------------------------------------------------------------- /Database/src/org/joeffice/database/actions/table_row_insert24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Database/src/org/joeffice/database/actions/table_row_insert24.png -------------------------------------------------------------------------------- /Database/src/org/joeffice/database/database-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Database/src/org/joeffice/database/database-16.png -------------------------------------------------------------------------------- /Database/src/org/joeffice/database/h2-db-resolver-definition.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Database/src/org/joeffice/database/package-info.java: -------------------------------------------------------------------------------- 1 | @TemplateRegistration(folder = "Office", content = "H2Template.h2.db", displayName = "#LBL_H2_FORMAT", iconBase = "org/joeffice/database/database-16.png", position = 400, description = "H2Description.html", requireProject = false) 2 | @NbBundle.Messages("LBL_H2_FORMAT=H2 Database") 3 | package org.joeffice.database; 4 | 5 | import org.netbeans.api.templates.TemplateRegistration; 6 | import org.openide.util.NbBundle; 7 | -------------------------------------------------------------------------------- /Desktop/build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Builds, tests, and runs the project org.joeffice.desktop. 7 | 8 | 9 | -------------------------------------------------------------------------------- /Desktop/manifest.mf: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | OpenIDE-Module: org.joeffice.desktop 3 | OpenIDE-Module-Install: org/joeffice/desktop/Installer.class 4 | OpenIDE-Module-Layer: org/joeffice/desktop/layer.xml 5 | OpenIDE-Module-Localizing-Bundle: org/joeffice/desktop/Bundle.properties 6 | OpenIDE-Module-Requires: org.openide.windows.WindowManager 7 | OpenIDE-Module-Specification-Version: 1.0 8 | AutoUpdate-Show-In-Client: true 9 | -------------------------------------------------------------------------------- /Desktop/nbproject/build-impl.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | You must set 'suite.dir' to point to your containing module suite 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /Desktop/nbproject/genfiles.properties: -------------------------------------------------------------------------------- 1 | build.xml.data.CRC32=48b18822 2 | build.xml.script.CRC32=61a3d50e 3 | build.xml.stylesheet.CRC32=15ca8a54@2.83 4 | # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. 5 | # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. 6 | nbproject/build-impl.xml.data.CRC32=48b18822 7 | nbproject/build-impl.xml.script.CRC32=5bacdf9b 8 | nbproject/build-impl.xml.stylesheet.CRC32=49aa68b0@2.83 9 | -------------------------------------------------------------------------------- /Desktop/nbproject/project.properties: -------------------------------------------------------------------------------- 1 | javac.source=11 2 | javac.compilerargs=-Xlint -Xlint:-serial 3 | license.file=../LICENSE 4 | nbm.homepage=https://www.joeffice.com 5 | nbm.module.author=Japplis 6 | -------------------------------------------------------------------------------- /Desktop/nbproject/suite.properties: -------------------------------------------------------------------------------- 1 | suite.dir=${basedir}/.. 2 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/Bundle.properties: -------------------------------------------------------------------------------- 1 | OpenIDE-Module-Display-Category=Office 2 | OpenIDE-Module-Long-Description=\ 3 | This module contain generic classes used to open, view, edit and save documents. 4 | OpenIDE-Module-Name=Joeffice Desktop 5 | 6 | Menu/Edit/GimmeMore=Gimme More 7 | 8 | AppearancePanel.languageLabel.text=Language 9 | 10 | OpenIDE-Module-Short-Description=The common module of office modules 11 | org_joeffice_desktop_update_center=http://www.joeffice.org/dev/updates.xml 12 | 13 | Services/AutoupdateType/org_joeffice_desktop_update_center.instance=Joeffice Dev Update Center 14 | 15 | WelcomeTopComponent.welcomeLabel.text=Welcome to Joeffice 16 | WelcomeTopComponent.newButton.text=New 17 | WelcomeTopComponent.openButton.text=Open 18 | WelcomeTopComponent.searchRecentFileLabel.text=Search recent file: 19 | WelcomeTopComponent.filterField.text= 20 | WelcomeTopComponent.alwaysShowCheckbox.text=Show on startup 21 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/Bundle_fr.properties: -------------------------------------------------------------------------------- 1 | MSG_SAVE_BEFORE_CLOSE=Sauvegarder avant de fermer? 2 | Menu/Edit/GimmeMore=J'en veux plus 3 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/Installer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2021 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.desktop; 17 | 18 | import javax.swing.UIManager; 19 | import com.formdev.flatlaf.FlatDarkLaf; 20 | import com.formdev.flatlaf.FlatLightLaf; 21 | import org.openide.modules.ModuleInstall; 22 | 23 | public class Installer extends ModuleInstall { 24 | 25 | @Override 26 | public void restored() { 27 | // FIXME Weird that it's needed as I would except to be done by the FlatLaf module itself: 28 | // https://github.com/apache/netbeans/blob/master/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/Installer.java 29 | UIManager.installLookAndFeel(new UIManager.LookAndFeelInfo("FlatLaf Dark", FlatDarkLaf.class.getName())); 30 | UIManager.installLookAndFeel(new UIManager.LookAndFeelInfo("FlatLaf Light", FlatLightLaf.class.getName())); 31 | //UIManager.installLookAndFeel(new UIManager.LookAndFeelInfo("FlatLaf Darcula", FlatDarculaLaf.class.getName())); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/AlignmentAction.java: -------------------------------------------------------------------------------- 1 | package org.joeffice.desktop.actions; 2 | 3 | import java.awt.Component; 4 | import java.awt.event.ActionEvent; 5 | import javax.swing.AbstractAction; 6 | import javax.swing.Action; 7 | import javax.swing.ImageIcon; 8 | import javax.swing.JPopupMenu; 9 | import org.openide.awt.*; 10 | import org.openide.util.ImageUtilities; 11 | import org.openide.util.NbBundle; 12 | import org.openide.util.Utilities; 13 | import org.openide.util.actions.Presenter; 14 | 15 | /** 16 | * Drop down action to choose the alignment. 17 | * 18 | * @author Anthony Goubard - Japplis 19 | */ 20 | // Icons from http://famfamfam.com/ 21 | @ActionID( 22 | category = "Edit/Office", 23 | id = "org.joeffice.desktop.actions.AlignmentAction") 24 | @ActionRegistration( 25 | iconBase = "org/joeffice/desktop/actions/text_align_center.png", 26 | displayName = "#CTL_Alignement", 27 | lazy = false) 28 | @ActionReference(path = "Toolbars/Font", position = 3500) 29 | @NbBundle.Messages("CTL_Alignement=Align") 30 | public class AlignmentAction extends AbstractAction implements Presenter.Toolbar { 31 | 32 | public final static String EXTENSION_POINT = "Office/Desktop/Alignment"; 33 | 34 | public AlignmentAction() { 35 | super(NbBundle.getMessage(AlignmentAction.class, "CTL_Alignement")); 36 | } 37 | 38 | @Override 39 | public void actionPerformed(ActionEvent e) { 40 | // TODO click detect what to align 41 | } 42 | 43 | @Override 44 | public Component getToolbarPresenter() { 45 | JPopupMenu popup = new JPopupMenu(); 46 | for (Action a : Utilities.actionsForPath(EXTENSION_POINT)) { 47 | popup.add(a); 48 | } 49 | ImageIcon topIcon = ImageUtilities.loadImageIcon("org/joeffice/desktop/actions/text_align_center.png", false); 50 | return DropDownButtonFactory.createDropDownButton(topIcon, popup); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/BoldAction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.desktop.actions; 17 | 18 | import java.awt.event.ActionEvent; 19 | import java.awt.font.TextAttribute; 20 | import java.text.AttributedString; 21 | import javax.swing.AbstractAction; 22 | import org.joeffice.desktop.ui.Styleable; 23 | 24 | import org.openide.awt.ActionID; 25 | import org.openide.awt.ActionReference; 26 | import org.openide.awt.ActionReferences; 27 | import org.openide.awt.ActionRegistration; 28 | import org.openide.util.NbBundle.Messages; 29 | 30 | /** 31 | * Change the font weight to bold. 32 | * 33 | * @author Anthony Goubard - Japplis 34 | */ 35 | @ActionID( 36 | category = "Edit/Office", 37 | id = "org.joeffice.desktop.actions.BoldAction") 38 | @ActionRegistration( 39 | iconBase = "org/joeffice/desktop/actions/text_bold.png", 40 | displayName = "#CTL_BoldAction") 41 | @ActionReferences({ 42 | @ActionReference(path = "Menu/Edit", position = 1520), 43 | @ActionReference(path = "Toolbars/Font", position = 3100), 44 | @ActionReference(path = "Shortcuts", name = "D-B") 45 | }) 46 | @Messages("CTL_BoldAction=Bold") 47 | public class BoldAction extends AbstractAction { 48 | 49 | private Styleable styleable; 50 | 51 | public BoldAction(Styleable styleable) { 52 | this.styleable = styleable; 53 | } 54 | 55 | @Override 56 | public void actionPerformed(ActionEvent e) { 57 | AttributedString attributes = new AttributedString("Bold"); 58 | attributes.addAttribute(TextAttribute.WEIGHT, TextAttribute.WEIGHT_BOLD); 59 | styleable.setFontAttributes(attributes); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/CenterAlignAction.java: -------------------------------------------------------------------------------- 1 | package org.joeffice.desktop.actions; 2 | 3 | import java.awt.event.ActionEvent; 4 | import java.text.AttributedString; 5 | import javax.swing.AbstractAction; 6 | 7 | import org.joeffice.desktop.ui.Styleable; 8 | 9 | import org.openide.awt.ActionID; 10 | import org.openide.awt.ActionReference; 11 | import org.openide.awt.ActionReferences; 12 | import org.openide.awt.ActionRegistration; 13 | import org.openide.util.NbBundle.Messages; 14 | 15 | /** 16 | * Align to the center. 17 | * 18 | * @author Anthony Goubard - Japplis 19 | */ 20 | @ActionID( 21 | category = "Edit/Office", 22 | id = "org.joeffice.desktop.actions.CenterAlignAction") 23 | @ActionRegistration( 24 | iconBase = "org/joeffice/desktop/actions/text_align_center.png", 25 | displayName = "#CTL_CenterAlignAction") 26 | @ActionReferences(value = { 27 | @ActionReference(path = "Office/Desktop/Alignment", position = 200)}) 28 | @Messages("CTL_CenterAlignAction=Center Align") 29 | public final class CenterAlignAction extends AbstractAction { 30 | 31 | private Styleable styleable; 32 | 33 | public CenterAlignAction(Styleable styleable) { 34 | this.styleable = styleable; 35 | } 36 | 37 | @Override 38 | public void actionPerformed(ActionEvent e) { 39 | AttributedString attributes = new AttributedString("Center align"); 40 | attributes.addAttribute(ExtraTextAttribute.ALIGNMENT, ExtraTextAttribute.ALIGNMENT_CENTER); 41 | styleable.setFontAttributes(attributes); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/ExtraTextAttribute.java: -------------------------------------------------------------------------------- 1 | package org.joeffice.desktop.actions; 2 | 3 | import java.awt.font.TextAttribute; 4 | import java.text.AttributedCharacterIterator; 5 | import javax.swing.text.StyleConstants; 6 | 7 | /** 8 | * Contants to define any extra attributes that don't exist in TextAttribute. 9 | * 10 | * @see TextAttribute 11 | * @author Anthony Goubard - Japplis 12 | */ 13 | public class ExtraTextAttribute extends AttributedCharacterIterator.Attribute { 14 | 15 | public final static ExtraTextAttribute ALIGNMENT = new ExtraTextAttribute("Alignment"); 16 | public final static int ALIGNMENT_LEFT = StyleConstants.ALIGN_LEFT; 17 | public final static int ALIGNMENT_RIGHT = StyleConstants.ALIGN_RIGHT; 18 | public final static int ALIGNMENT_CENTER = StyleConstants.ALIGN_CENTER; 19 | 20 | public final static ExtraTextAttribute INCREASE_FONT_SIZE = new ExtraTextAttribute("FontSizeIncrement"); 21 | 22 | public final static ExtraTextAttribute INDENTATION = new ExtraTextAttribute("Indentation"); 23 | 24 | public final static ExtraTextAttribute TEXT_TRANSFORM = new ExtraTextAttribute("TextTransform"); 25 | 26 | public final static ExtraTextAttribute UI_ONLY = new ExtraTextAttribute("UIOnly"); 27 | 28 | ExtraTextAttribute(String name) { 29 | super(name); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/FontSizeDecrementAction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.desktop.actions; 17 | 18 | import java.awt.event.ActionEvent; 19 | import java.text.AttributedString; 20 | import javax.swing.AbstractAction; 21 | import org.joeffice.desktop.ui.Styleable; 22 | import org.openide.awt.ActionID; 23 | import org.openide.awt.ActionRegistration; 24 | import org.openide.util.NbBundle.Messages; 25 | 26 | /** 27 | * Action to decrease the size of the font. 28 | * 29 | * @author Anthony Goubard - Japplis 30 | */ 31 | @ActionID( 32 | category = "Edit/Office", 33 | id = "org.joeffice.desktop.actions.FontSizeDecrementAction") 34 | @ActionRegistration( 35 | displayName = "#CTL_FontSizeDecrementAction") 36 | @Messages("CTL_FontSizeDecrementAction=Decrease font size") 37 | public final class FontSizeDecrementAction extends AbstractAction { 38 | 39 | private Styleable styleable; 40 | 41 | public FontSizeDecrementAction(Styleable styleable) { 42 | this.styleable = styleable; 43 | } 44 | 45 | @Override 46 | public void actionPerformed(ActionEvent e) { 47 | AttributedString attributes = new AttributedString("Increase fotn size"); 48 | attributes.addAttribute(ExtraTextAttribute.INCREASE_FONT_SIZE, -1); 49 | styleable.setFontAttributes(attributes); 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/FontSizeIncrementAction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.desktop.actions; 17 | 18 | import java.awt.event.ActionEvent; 19 | import java.text.AttributedString; 20 | import javax.swing.AbstractAction; 21 | import org.joeffice.desktop.ui.Styleable; 22 | import org.openide.awt.ActionID; 23 | import org.openide.awt.ActionRegistration; 24 | import org.openide.util.NbBundle.Messages; 25 | 26 | // Not implemented yet in document updater or in editor styleable 27 | /** 28 | * Action to increase the size of the font. 29 | * 30 | * @author Anthony Goubard - Japplis 31 | */ 32 | @ActionID( 33 | category = "Edit/Office", 34 | id = "org.joeffice.desktop.actions.FontSizeIncrementAction") 35 | @ActionRegistration( 36 | displayName = "#CTL_FontSizeIncrementAction") 37 | @Messages("CTL_FontSizeIncrementAction=Increase font size") 38 | public final class FontSizeIncrementAction extends AbstractAction { 39 | 40 | private Styleable styleable; 41 | 42 | public FontSizeIncrementAction(Styleable styleable) { 43 | this.styleable = styleable; 44 | } 45 | 46 | @Override 47 | public void actionPerformed(ActionEvent e) { 48 | AttributedString attributes = new AttributedString("Increase font size"); 49 | attributes.addAttribute(ExtraTextAttribute.INCREASE_FONT_SIZE, 1); 50 | styleable.setFontAttributes(attributes); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/IndentationAction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.desktop.actions; 17 | 18 | import java.awt.event.ActionEvent; 19 | import java.awt.font.TextAttribute; 20 | import java.text.AttributedString; 21 | import javax.swing.AbstractAction; 22 | 23 | import org.joeffice.desktop.ui.Styleable; 24 | 25 | import org.openide.awt.ActionID; 26 | import org.openide.awt.ActionReference; 27 | import org.openide.awt.ActionRegistration; 28 | import org.openide.util.NbBundle.Messages; 29 | 30 | @ActionID( 31 | category = "Edit/Office", 32 | id = "org.joeffice.desktop.actions.IndentationAction") 33 | @ActionRegistration( 34 | displayName = "#CTL_IndentationAction") 35 | @ActionReference(path = "Menu/Edit/Gimme More/Text", position = 60) 36 | @Messages("CTL_IndentationAction=Indentation") 37 | public final class IndentationAction extends AbstractAction { 38 | 39 | private Styleable styleable; 40 | 41 | public IndentationAction(Styleable styleable) { 42 | this.styleable = styleable; 43 | } 44 | 45 | @Override 46 | public void actionPerformed(ActionEvent e) { 47 | AttributedString attributes = new AttributedString("Indentation"); 48 | attributes.addAttribute(ExtraTextAttribute.INDENTATION, 4); 49 | styleable.setFontAttributes(attributes); 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/ItalicAction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.desktop.actions; 17 | 18 | import java.awt.event.ActionEvent; 19 | import java.awt.font.TextAttribute; 20 | import java.text.AttributedString; 21 | import javax.swing.AbstractAction; 22 | 23 | import org.joeffice.desktop.ui.Styleable; 24 | 25 | import org.openide.awt.ActionID; 26 | import org.openide.awt.ActionReference; 27 | import org.openide.awt.ActionReferences; 28 | import org.openide.awt.ActionRegistration; 29 | import org.openide.util.NbBundle.Messages; 30 | 31 | /** 32 | * Change the font style to italic. 33 | * 34 | * @author Anthony Goubard - Japplis 35 | */ 36 | @ActionID( 37 | category = "Edit/Office", 38 | id = "org.joeffice.desktop.actions.ItalicAction") 39 | @ActionRegistration( 40 | iconBase = "org/joeffice/desktop/actions/text_italic.png", 41 | displayName = "#CTL_ItalicAction") 42 | @ActionReferences({ 43 | @ActionReference(path = "Menu/Edit", position = 1530), 44 | @ActionReference(path = "Toolbars/Font", position = 3200), 45 | @ActionReference(path = "Shortcuts", name = "D-I") 46 | }) 47 | @Messages("CTL_ItalicAction=Italic") 48 | public class ItalicAction extends AbstractAction { 49 | 50 | private Styleable styleable; 51 | 52 | public ItalicAction(Styleable styleable) { 53 | this.styleable = styleable; 54 | } 55 | 56 | @Override 57 | public void actionPerformed(ActionEvent e) { 58 | AttributedString attributes = new AttributedString("Italic"); 59 | attributes.addAttribute(TextAttribute.POSTURE, TextAttribute.POSTURE_OBLIQUE); 60 | styleable.setFontAttributes(attributes); 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/JustifyAlignAction.java: -------------------------------------------------------------------------------- 1 | package org.joeffice.desktop.actions; 2 | 3 | import java.awt.event.ActionEvent; 4 | import java.awt.font.TextAttribute; 5 | import java.text.AttributedString; 6 | import javax.swing.AbstractAction; 7 | 8 | import org.joeffice.desktop.ui.Styleable; 9 | 10 | import org.openide.awt.ActionID; 11 | import org.openide.awt.ActionReference; 12 | import org.openide.awt.ActionReferences; 13 | import org.openide.awt.ActionRegistration; 14 | import org.openide.util.NbBundle.Messages; 15 | 16 | /** 17 | * Justified the paragraph. 18 | * 19 | * @author Anthony Goubard - Japplis 20 | */ 21 | @ActionID( 22 | category = "Edit/Office", 23 | id = "org.joeffice.desktop.actions.JustifyAlignAction") 24 | @ActionRegistration( 25 | iconBase = "org/joeffice/desktop/actions/text_align_justify.png", 26 | displayName = "#CTL_JustifyAlignAction") 27 | @ActionReferences(value = { 28 | @ActionReference(path = "Office/Desktop/Alignment", position = 400)}) 29 | @Messages("CTL_JustifyAlignAction=Justify Align") 30 | public final class JustifyAlignAction extends AbstractAction { 31 | 32 | private Styleable styleable; 33 | 34 | public JustifyAlignAction(Styleable styleable) { 35 | this.styleable = styleable; 36 | } 37 | 38 | @Override 39 | public void actionPerformed(ActionEvent e) { 40 | AttributedString attributes = new AttributedString("Justify align"); 41 | attributes.addAttribute(TextAttribute.JUSTIFICATION, TextAttribute.JUSTIFICATION_FULL); 42 | styleable.setFontAttributes(attributes); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/LeftAlignAction.java: -------------------------------------------------------------------------------- 1 | package org.joeffice.desktop.actions; 2 | 3 | import java.awt.event.ActionEvent; 4 | import java.awt.font.TextAttribute; 5 | import java.text.AttributedString; 6 | import javax.swing.AbstractAction; 7 | 8 | import org.joeffice.desktop.ui.Styleable; 9 | 10 | import org.openide.awt.ActionID; 11 | import org.openide.awt.ActionReference; 12 | import org.openide.awt.ActionReferences; 13 | import org.openide.awt.ActionRegistration; 14 | import org.openide.util.NbBundle.Messages; 15 | 16 | /** 17 | * Align to the left. 18 | * 19 | * @author Anthony Goubard - Japplis 20 | */ 21 | @ActionID( 22 | category = "Edit/Office", 23 | id = "org.joeffice.desktop.actions.LeftAlignAction") 24 | @ActionRegistration( 25 | iconBase = "org/joeffice/desktop/actions/text_align_left.png", 26 | displayName = "#CTL_LeftAlignAction") 27 | @ActionReferences(value = { 28 | @ActionReference(path = "Office/Desktop/Alignment", position = 100)}) 29 | @Messages("CTL_LeftAlignAction=Left Align") 30 | public final class LeftAlignAction extends AbstractAction { 31 | 32 | private Styleable styleable; 33 | 34 | public LeftAlignAction(Styleable styleable) { 35 | this.styleable = styleable; 36 | } 37 | 38 | @Override 39 | public void actionPerformed(ActionEvent e) { 40 | AttributedString attributes = new AttributedString("Left align"); 41 | attributes.addAttribute(ExtraTextAttribute.ALIGNMENT, ExtraTextAttribute.ALIGNMENT_LEFT); 42 | styleable.setFontAttributes(attributes); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/OfficeAction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2021 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.desktop.actions; 17 | 18 | import javax.swing.AbstractAction; 19 | import javax.swing.ImageIcon; 20 | import org.openide.awt.ActionRegistration; 21 | 22 | /** 23 | * FIXME There seems to be a problem with Actions / ActionListener as they show by default as AlwaysEnabledAction[null] in layer. 24 | * 25 | * This is a workaround to show them correctly in the IDE and in the application. 26 | * If in @ActionRegistration 'lazy = false' is not specified the action shows as AlwaysEnabledAction[null] and 27 | * you can get the instance with Actions.getFromID 28 | * If you set 'lazy = false' the default constructor is called and iconBase is ignored 29 | * 30 | * @author Anthony Goubard - Japplis 31 | */ 32 | @Deprecated // Unused as this is a workaround - problem is somewhere else 33 | public abstract class OfficeAction extends AbstractAction { 34 | 35 | public OfficeAction() { 36 | putValue(DEFAULT, getClass().getSimpleName()); 37 | if (getClass().isAnnotationPresent(ActionRegistration.class)) { // False see warning 38 | ActionRegistration registration = getClass().getAnnotation(ActionRegistration.class); 39 | putValue(NAME, registration.displayName()); 40 | if (!registration.iconBase().isEmpty()) { 41 | ImageIcon icon = new ImageIcon(getClass().getClassLoader().getResource(registration.iconBase())); 42 | putValue(SMALL_ICON, icon); 43 | } 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/OpenRecentAction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2021. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.desktop.actions; 17 | 18 | import java.awt.event.ActionEvent; 19 | import java.awt.event.ActionListener; 20 | import javax.swing.JMenu; 21 | import javax.swing.JMenuItem; 22 | import org.openide.awt.ActionID; 23 | import org.openide.awt.ActionReference; 24 | import org.openide.awt.ActionRegistration; 25 | import org.openide.util.NbBundle; 26 | import org.openide.util.NbBundle.Messages; 27 | import org.openide.util.actions.Presenter; 28 | 29 | @ActionID( 30 | category = "File", 31 | id = "org.joeffice.desktop.actions.OpenRecentAction" 32 | ) 33 | @ActionRegistration( 34 | displayName = "#CTL_OpenRecentAction", 35 | lazy = true 36 | ) 37 | @ActionReference(path = "Menu/File", position = 750) 38 | @Messages("CTL_OpenRecentAction=Open Recent...") 39 | public final class OpenRecentAction implements ActionListener, Presenter.Menu { 40 | 41 | @Override 42 | public void actionPerformed(ActionEvent e) { 43 | // TODO implement action body 44 | } 45 | 46 | @Override 47 | public JMenuItem getMenuPresenter() { 48 | JMenu recentFileMenu = new JMenu(); 49 | recentFileMenu.setText(NbBundle.getMessage(OpenRecentAction.class, "CTL_OpenRecentAction")); 50 | return recentFileMenu; 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/RightAlignAction.java: -------------------------------------------------------------------------------- 1 | package org.joeffice.desktop.actions; 2 | 3 | import java.awt.event.ActionEvent; 4 | import java.text.AttributedString; 5 | import javax.swing.AbstractAction; 6 | 7 | import org.joeffice.desktop.ui.Styleable; 8 | 9 | import org.openide.awt.ActionID; 10 | import org.openide.awt.ActionReference; 11 | import org.openide.awt.ActionReferences; 12 | import org.openide.awt.ActionRegistration; 13 | import org.openide.util.NbBundle.Messages; 14 | 15 | /** 16 | * Align to the right. 17 | * 18 | * @author Anthony Goubard - Japplis 19 | */ 20 | @ActionID( 21 | category = "Edit/Office", 22 | id = "org.joeffice.desktop.actions.RightAlignAction") 23 | @ActionRegistration( 24 | iconBase = "org/joeffice/desktop/actions/text_align_right.png", 25 | displayName = "#CTL_RightAlignAction") 26 | @ActionReferences(value = { 27 | @ActionReference(path = "Office/Desktop/Alignment", position = 300)}) 28 | @Messages("CTL_RightAlignAction=Right Align") 29 | public final class RightAlignAction extends AbstractAction { 30 | 31 | private Styleable styleable; 32 | 33 | public RightAlignAction(Styleable styleable) { 34 | this.styleable = styleable; 35 | } 36 | 37 | @Override 38 | public void actionPerformed(ActionEvent e) { 39 | AttributedString attributes = new AttributedString("Right align"); 40 | attributes.addAttribute(ExtraTextAttribute.ALIGNMENT, ExtraTextAttribute.ALIGNMENT_RIGHT); 41 | styleable.setFontAttributes(attributes); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/StrikeThroughAction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.desktop.actions; 17 | 18 | import java.awt.event.ActionEvent; 19 | import java.awt.font.TextAttribute; 20 | import java.text.AttributedString; 21 | import javax.swing.AbstractAction; 22 | 23 | import org.joeffice.desktop.ui.Styleable; 24 | 25 | import org.openide.awt.ActionID; 26 | import org.openide.awt.ActionReference; 27 | import org.openide.awt.ActionRegistration; 28 | import org.openide.util.NbBundle.Messages; 29 | 30 | /** 31 | * Action to strike through text. 32 | * 33 | * @author Anthony Goubard - Japplis 34 | */ 35 | @ActionID( 36 | category = "Edit/Office", 37 | id = "org.joeffice.desktop.actions.StrikeThroughAction") 38 | @ActionRegistration( 39 | iconBase = "org/joeffice/desktop/actions/text_strikethrough.png", 40 | displayName = "#CTL_StrikeThroughAction") 41 | @ActionReference(path = "Menu/Edit/Gimme More/Text", position = 30) 42 | @Messages("CTL_StrikeThroughAction=StrikeThrough") 43 | public final class StrikeThroughAction extends AbstractAction { 44 | 45 | private Styleable styleable; 46 | 47 | public StrikeThroughAction(Styleable styleable) { 48 | this.styleable = styleable; 49 | } 50 | 51 | @Override 52 | public void actionPerformed(ActionEvent e) { 53 | AttributedString attributes = new AttributedString("StrikeThrough"); 54 | attributes.addAttribute(TextAttribute.STRIKETHROUGH, TextAttribute.STRIKETHROUGH_ON); 55 | styleable.setFontAttributes(attributes); 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/SubscriptAction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.desktop.actions; 17 | 18 | import java.awt.event.ActionEvent; 19 | import java.awt.font.TextAttribute; 20 | import java.text.AttributedString; 21 | import javax.swing.AbstractAction; 22 | 23 | import org.joeffice.desktop.ui.Styleable; 24 | 25 | import org.openide.awt.ActionID; 26 | import org.openide.awt.ActionReference; 27 | import org.openide.awt.ActionRegistration; 28 | import org.openide.util.NbBundle.Messages; 29 | 30 | /** 31 | * Action to subscript text. 32 | * 33 | * @author Anthony Goubard - Japplis 34 | */ 35 | @ActionID( 36 | category = "Edit/Office", 37 | id = "org.joeffice.desktop.actions.SubscriptAction") 38 | @ActionRegistration( 39 | iconBase = "org/joeffice/desktop/actions/text_subscript.png", 40 | displayName = "#CTL_SubscriptAction") 41 | @ActionReference(path = "Menu/Edit/Gimme More/Text", position = 10) 42 | @Messages("CTL_SubscriptAction=Subscript") 43 | public final class SubscriptAction extends AbstractAction { 44 | 45 | private Styleable styleable; 46 | 47 | public SubscriptAction(Styleable styleable) { 48 | this.styleable = styleable; 49 | } 50 | 51 | @Override 52 | public void actionPerformed(ActionEvent e) { 53 | AttributedString attributes = new AttributedString("Subscript"); 54 | attributes.addAttribute(TextAttribute.SUPERSCRIPT, TextAttribute.SUPERSCRIPT_SUB); 55 | styleable.setFontAttributes(attributes); 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/SuperscriptAction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.desktop.actions; 17 | 18 | import java.awt.event.ActionEvent; 19 | import java.awt.font.TextAttribute; 20 | import java.text.AttributedString; 21 | import javax.swing.AbstractAction; 22 | 23 | import org.joeffice.desktop.ui.Styleable; 24 | 25 | import org.openide.awt.ActionID; 26 | import org.openide.awt.ActionReference; 27 | import org.openide.awt.ActionRegistration; 28 | import org.openide.util.NbBundle.Messages; 29 | 30 | /** 31 | * Action to superscript text. 32 | * 33 | * @author Anthony Goubard - Japplis 34 | */ 35 | @ActionID( 36 | category = "Edit/Office", 37 | id = "org.joeffice.desktop.actions.SuperscriptAction") 38 | @ActionRegistration( 39 | iconBase = "org/joeffice/desktop/actions/text_superscript.png", 40 | displayName = "#CTL_SuperscriptAction") 41 | @ActionReference(path = "Menu/Edit/Gimme More/Text", position = 20) 42 | @Messages("CTL_SuperscriptAction=Superscript") 43 | public final class SuperscriptAction extends AbstractAction { 44 | 45 | private Styleable styleable; 46 | 47 | public SuperscriptAction(Styleable styleable) { 48 | this.styleable = styleable; 49 | } 50 | 51 | @Override 52 | public void actionPerformed(ActionEvent e) { 53 | AttributedString attributes = new AttributedString("Superscript"); 54 | attributes.addAttribute(TextAttribute.SUPERSCRIPT, TextAttribute.SUPERSCRIPT_SUPER); 55 | styleable.setFontAttributes(attributes); 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/TextTransformer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.desktop.actions; 17 | 18 | /** 19 | * Interface for text manipulation. 20 | * 21 | * @author Anthony Goubard - Japplis 22 | */ 23 | public interface TextTransformer { 24 | 25 | String transformText(String text); 26 | 27 | } 28 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/ToLowerCaseAction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.desktop.actions; 17 | 18 | import java.awt.event.ActionEvent; 19 | import java.text.AttributedString; 20 | import javax.swing.AbstractAction; 21 | 22 | import org.joeffice.desktop.ui.Styleable; 23 | 24 | import org.openide.awt.ActionID; 25 | import org.openide.awt.ActionReference; 26 | import org.openide.awt.ActionRegistration; 27 | import org.openide.util.NbBundle.Messages; 28 | 29 | /** 30 | * Transformation that set selected text to lower case. 31 | * 32 | * @author Anthony Goubard - Japplis 33 | */ 34 | @ActionID( 35 | category = "Edit/Office", 36 | id = "org.joeffice.desktop.actions.ToLowerCaseAction") 37 | @ActionRegistration( 38 | iconBase = "org/joeffice/desktop/actions/text_lowercase.png", 39 | displayName = "#CTL_ToLowerCaseAction") 40 | @ActionReference(path = "Menu/Edit/Gimme More/Text", position = 40) 41 | @Messages("CTL_ToLowerCaseAction=To Lower Case") 42 | public final class ToLowerCaseAction extends AbstractAction implements TextTransformer { 43 | 44 | private Styleable styleable; 45 | 46 | public ToLowerCaseAction(Styleable styleable) { 47 | this.styleable = styleable; 48 | } 49 | 50 | @Override 51 | public void actionPerformed(ActionEvent e) { 52 | AttributedString attributes = new AttributedString("ToLowerCase"); 53 | attributes.addAttribute(ExtraTextAttribute.TEXT_TRANSFORM, this); 54 | styleable.setFontAttributes(attributes); 55 | } 56 | 57 | @Override 58 | public String transformText(String text) { 59 | return text.toLowerCase(); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/ToUpperCaseAction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.desktop.actions; 17 | 18 | import java.awt.event.ActionEvent; 19 | import java.text.AttributedString; 20 | import javax.swing.AbstractAction; 21 | 22 | import org.joeffice.desktop.ui.Styleable; 23 | 24 | import org.openide.awt.ActionID; 25 | import org.openide.awt.ActionReference; 26 | import org.openide.awt.ActionRegistration; 27 | import org.openide.util.NbBundle.Messages; 28 | 29 | /** 30 | * Transformation that set selected text to upper case. 31 | * 32 | * @author Anthony Goubard - Japplis 33 | */ 34 | @ActionID( 35 | category = "Edit/Office", 36 | id = "org.joeffice.desktop.actions.ToUpperCaseAction") 37 | @ActionRegistration( 38 | iconBase = "org/joeffice/desktop/actions/text_uppercase.png", 39 | displayName = "#CTL_ToUpperCaseAction") 40 | @ActionReference(path = "Menu/Edit/Gimme More/Text", position = 50) 41 | @Messages("CTL_ToUpperCaseAction=To Upper Case") 42 | public final class ToUpperCaseAction extends AbstractAction implements TextTransformer { 43 | 44 | private Styleable styleable; 45 | 46 | public ToUpperCaseAction(Styleable styleable) { 47 | this.styleable = styleable; 48 | } 49 | 50 | @Override 51 | public void actionPerformed(ActionEvent e) { 52 | AttributedString attributes = new AttributedString("ToUpperCase"); 53 | attributes.addAttribute(ExtraTextAttribute.TEXT_TRANSFORM, this); 54 | styleable.setFontAttributes(attributes); 55 | } 56 | 57 | @Override 58 | public String transformText(String text) { 59 | return text.toUpperCase(); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/UnderlineAction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.desktop.actions; 17 | 18 | import java.awt.event.ActionEvent; 19 | import java.awt.font.TextAttribute; 20 | import java.text.AttributedString; 21 | import javax.swing.AbstractAction; 22 | 23 | import org.joeffice.desktop.ui.Styleable; 24 | 25 | import org.openide.awt.ActionID; 26 | import org.openide.awt.ActionReference; 27 | import org.openide.awt.ActionReferences; 28 | import org.openide.awt.ActionRegistration; 29 | import org.openide.util.NbBundle.Messages; 30 | 31 | /** 32 | * Underline the selected text. 33 | * 34 | * @author Anthony Goubard - Japplis 35 | */ 36 | @ActionID( 37 | category = "Edit/Office", 38 | id = "org.joeffice.desktop.actions.UnderlineAction") 39 | @ActionRegistration( 40 | iconBase = "org/joeffice/desktop/actions/text_underline.png", 41 | displayName = "#CTL_UnderlineAction") 42 | @ActionReferences({ 43 | @ActionReference(path = "Menu/Edit", position = 1540), 44 | @ActionReference(path = "Shortcuts", name = "D-U") 45 | }) 46 | @Messages("CTL_UnderlineAction=Underline") 47 | public class UnderlineAction extends AbstractAction { 48 | 49 | private Styleable styleable; 50 | 51 | public UnderlineAction(Styleable styleable) { 52 | this.styleable = styleable; 53 | } 54 | 55 | @Override 56 | public void actionPerformed(ActionEvent e) { 57 | AttributedString attributes = new AttributedString("Underline"); 58 | attributes.addAttribute(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON); 59 | styleable.setFontAttributes(attributes); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/add.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/add24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/add24.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/color_swatch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/color_swatch.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/color_swatch24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/color_swatch24.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/folder_table.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/folder_table.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/folder_table24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/folder_table24.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/font.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/font.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/font24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/font24.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/tag_blue_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/tag_blue_edit.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/tag_blue_edit24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/tag_blue_edit24.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/text_align_center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/text_align_center.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/text_align_center24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/text_align_center24.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/text_align_justify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/text_align_justify.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/text_align_justify24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/text_align_justify24.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/text_align_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/text_align_left.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/text_align_left24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/text_align_left24.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/text_align_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/text_align_right.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/text_align_right24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/text_align_right24.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/text_bold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/text_bold.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/text_bold24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/text_bold24.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/text_italic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/text_italic.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/text_italic24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/text_italic24.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/text_lowercase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/text_lowercase.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/text_lowercase24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/text_lowercase24.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/text_strikethrough.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/text_strikethrough.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/text_strikethrough24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/text_strikethrough24.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/text_subscript.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/text_subscript.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/text_subscript24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/text_subscript24.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/text_superscript.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/text_superscript.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/text_superscript24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/text_superscript24.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/text_underline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/text_underline.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/text_underline24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/text_underline24.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/text_uppercase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/text_uppercase.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/actions/text_uppercase24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Desktop/src/org/joeffice/desktop/actions/text_uppercase24.png -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/docs/desktop-about.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | About Joeffice Desktop 4 | 5 | 6 | 7 | 8 |

About Joeffice Desktop

9 |

10 | Joeffice is an open source office suite written in Java™. 11 |

12 |

13 | As Joeffice is still in development, there is no documentation included yet. 14 | Look at the project wiki page for documentation. 15 |

16 | 17 | 18 | 30 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/docs/desktop-hs.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | Joeffice Desktop Help 9 | 10 | org.joeffice.desktop.about 11 | 12 | 13 | 14 | TOC 15 | 16 | javax.help.TOCView 17 | desktop-toc.xml 18 | 19 | 20 | Index 21 | 22 | javax.help.IndexView 23 | desktop-idx.xml 24 | 25 | 26 | Search 27 | 28 | javax.help.SearchView 29 | JavaHelpSearch 30 | 31 | 32 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/docs/desktop-idx.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/docs/desktop-map.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/docs/desktop-toc.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/docs/package-info.java: -------------------------------------------------------------------------------- 1 | @HelpSetRegistration(helpSet = "desktop-hs.xml", position = 3838) 2 | package org.joeffice.desktop.docs; 3 | 4 | import org.netbeans.api.javahelp.HelpSetRegistration; 5 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/favoritesWstcref.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/ui/Findable.java: -------------------------------------------------------------------------------- 1 | package org.joeffice.desktop.ui; 2 | 3 | import java.util.EnumSet; 4 | import java.util.regex.Matcher; 5 | import java.util.regex.Pattern; 6 | 7 | /** 8 | * Interface for finding text within the document. 9 | * 10 | * @author Anthony Goubard - Japplis 11 | */ 12 | public interface Findable { 13 | 14 | public enum FindOption {MATCH_CASE, WHOLE_WORD, REG_EXP}; 15 | 16 | boolean find(String search, EnumSet options); 17 | 18 | boolean findNext(boolean forward); 19 | 20 | default int find(String text, String search, int from, EnumSet options) { 21 | if (options.contains(FindOption.MATCH_CASE) && options.size() == 1) { 22 | return text.indexOf(search, from); 23 | } 24 | String searchRegExp = search; 25 | if (!options.contains(FindOption.REG_EXP)) { 26 | searchRegExp = search.replaceAll("[\\$\\^\\.\\?\\[\\{]", "\\$1"); 27 | } 28 | if (options.contains(FindOption.WHOLE_WORD)) { 29 | searchRegExp = "\\b" + searchRegExp + "\\b"; 30 | } 31 | if (!options.contains(FindOption.MATCH_CASE) && !search.contains("(?i)")) { 32 | searchRegExp = "(?i)" + searchRegExp; 33 | } 34 | String searchText = text.substring(from); 35 | Pattern searchPattern = Pattern.compile(searchRegExp); 36 | Matcher searchMatcher = searchPattern.matcher(searchText); 37 | if (searchMatcher.find()) { 38 | return from + searchMatcher.start(); 39 | } 40 | return -1; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /Desktop/src/org/joeffice/desktop/ui/Styleable.java: -------------------------------------------------------------------------------- 1 | package org.joeffice.desktop.ui; 2 | 3 | import java.text.AttributedCharacterIterator; 4 | import java.text.AttributedString; 5 | 6 | /** 7 | * Interface to style a component. 8 | * 9 | * @see AttributedCharacterIterator 10 | * @author Anthony Goubard - Japplis 11 | */ 12 | public interface Styleable { 13 | 14 | /** 15 | * Overrides the font attributes with the given attributes. 16 | */ 17 | void setFontAttributes(AttributedString attributes); 18 | 19 | /** 20 | * Gets the font attributes that are on the selection. 21 | * If in the selection an attribute has different values (e.g. font size), the attribute is not returned. 22 | * @return 23 | */ 24 | AttributedString getCommonFontAttributes(); 25 | 26 | } 27 | -------------------------------------------------------------------------------- /Drawing/build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Builds, tests, and runs the project org.joeffice.drawing. 7 | 8 | 9 | -------------------------------------------------------------------------------- /Drawing/manifest.mf: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | AutoUpdate-Show-In-Client: true 3 | OpenIDE-Module: org.joeffice.drawing 4 | OpenIDE-Module-Localizing-Bundle: org/joeffice/drawing/Bundle.properties 5 | OpenIDE-Module-Requires: org.openide.windows.WindowManager 6 | OpenIDE-Module-Specification-Version: 1.0 7 | 8 | -------------------------------------------------------------------------------- /Drawing/nbproject/build-impl.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | You must set 'suite.dir' to point to your containing module suite 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /Drawing/nbproject/genfiles.properties: -------------------------------------------------------------------------------- 1 | build.xml.data.CRC32=d0fc4bcc 2 | build.xml.script.CRC32=c3fd9808 3 | build.xml.stylesheet.CRC32=15ca8a54@2.82 4 | # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. 5 | # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. 6 | nbproject/build-impl.xml.data.CRC32=d0fc4bcc 7 | nbproject/build-impl.xml.script.CRC32=683b535c 8 | nbproject/build-impl.xml.stylesheet.CRC32=49aa68b0@2.82 9 | -------------------------------------------------------------------------------- /Drawing/nbproject/project.properties: -------------------------------------------------------------------------------- 1 | javac.source=11 2 | javac.compilerargs=-Xlint -Xlint:-serial 3 | license.file=../LICENSE 4 | nbm.homepage=https://www.joeffice.com 5 | nbm.module.author=Japplis 6 | -------------------------------------------------------------------------------- /Drawing/nbproject/suite.properties: -------------------------------------------------------------------------------- 1 | suite.dir=${basedir}/.. 2 | -------------------------------------------------------------------------------- /Drawing/src/org/joeffice/drawing/Bundle.properties: -------------------------------------------------------------------------------- 1 | OpenIDE-Module-Display-Category=Office 2 | OpenIDE-Module-Long-Description=\ 3 | This module allows to open drawing documents.\n\ 4 | Supported format is SVG. 5 | OpenIDE-Module-Name=Drawing 6 | OpenIDE-Module-Short-Description=The drawing part of Joeffice 7 | -------------------------------------------------------------------------------- /Drawing/src/org/joeffice/drawing/SvgTemplate.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 20 | 38 | 40 | 41 | 43 | image/svg+xml 44 | 46 | 47 | 48 | 49 | 50 | 54 | 55 | -------------------------------------------------------------------------------- /Drawing/src/org/joeffice/drawing/drawing-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Drawing/src/org/joeffice/drawing/drawing-16.png -------------------------------------------------------------------------------- /Drawing/src/org/joeffice/drawing/package-info.java: -------------------------------------------------------------------------------- 1 | @TemplateRegistration(folder = "Office", content = "SvgTemplate.svg", position = 400) 2 | package org.joeffice.drawing; 3 | 4 | import org.netbeans.api.templates.TemplateRegistration; 5 | -------------------------------------------------------------------------------- /H2/build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Builds, tests, and runs the project org.joeffice.h2. 7 | 8 | 9 | -------------------------------------------------------------------------------- /H2/manifest.mf: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | AutoUpdate-Show-In-Client: true 3 | OpenIDE-Module: org.joeffice.h2 4 | OpenIDE-Module-Localizing-Bundle: org/joeffice/h2/Bundle.properties 5 | OpenIDE-Module-Specification-Version: 1.0 6 | 7 | -------------------------------------------------------------------------------- /H2/nbproject/build-impl.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | You must set 'suite.dir' to point to your containing module suite 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /H2/nbproject/genfiles.properties: -------------------------------------------------------------------------------- 1 | build.xml.data.CRC32=0b40980a 2 | build.xml.script.CRC32=ef64b756 3 | build.xml.stylesheet.CRC32=15ca8a54@2.82 4 | # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. 5 | # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. 6 | nbproject/build-impl.xml.data.CRC32=0b40980a 7 | nbproject/build-impl.xml.script.CRC32=6353a56b 8 | nbproject/build-impl.xml.stylesheet.CRC32=49aa68b0@2.82 9 | -------------------------------------------------------------------------------- /H2/nbproject/project.properties: -------------------------------------------------------------------------------- 1 | is.autoload=true 2 | license.file=${basedir}/h2-license.html 3 | -------------------------------------------------------------------------------- /H2/nbproject/suite.properties: -------------------------------------------------------------------------------- 1 | suite.dir=${basedir}/.. 2 | -------------------------------------------------------------------------------- /H2/release/modules/ext/h2-1.4.200.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/H2/release/modules/ext/h2-1.4.200.jar -------------------------------------------------------------------------------- /H2/src/org/joeffice/h2/Bundle.properties: -------------------------------------------------------------------------------- 1 | OpenIDE-Module-Name=H2 2 | -------------------------------------------------------------------------------- /JUniversalCharDet/build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Builds, tests, and runs the project org.joeffice.universalchardet. 7 | 8 | 9 | -------------------------------------------------------------------------------- /JUniversalCharDet/manifest.mf: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | AutoUpdate-Show-In-Client: true 3 | OpenIDE-Module: org.joeffice.universalchardet 4 | OpenIDE-Module-Localizing-Bundle: org/joeffice/universalchardet/Bundle.properties 5 | OpenIDE-Module-Specification-Version: 1.0 6 | 7 | -------------------------------------------------------------------------------- /JUniversalCharDet/nbproject/genfiles.properties: -------------------------------------------------------------------------------- 1 | build.xml.data.CRC32=6091cb4e 2 | build.xml.script.CRC32=9c682aee 3 | build.xml.stylesheet.CRC32=15ca8a54@2.82 4 | # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. 5 | # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. 6 | nbproject/build-impl.xml.data.CRC32=6091cb4e 7 | nbproject/build-impl.xml.script.CRC32=8e136920 8 | nbproject/build-impl.xml.stylesheet.CRC32=49aa68b0@2.82 9 | -------------------------------------------------------------------------------- /JUniversalCharDet/nbproject/project.properties: -------------------------------------------------------------------------------- 1 | is.autoload=true 2 | license.file=${basedir}/juniversalchardet-license.txt 3 | -------------------------------------------------------------------------------- /JUniversalCharDet/nbproject/project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | org.netbeans.modules.apisupport.project 4 | 5 | 6 | org.joeffice.universalchardet 7 | 8 | 9 | 10 | org.mozilla.universalchardet 11 | org.mozilla.universalchardet.prober 12 | org.mozilla.universalchardet.prober.contextanalysis 13 | org.mozilla.universalchardet.prober.distributionanalysis 14 | org.mozilla.universalchardet.prober.sequence 15 | org.mozilla.universalchardet.prober.statemachine 16 | 17 | 18 | ext/juniversalchardet-2.4.0.jar 19 | release/modules/ext/juniversalchardet-2.4.0.jar 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /JUniversalCharDet/nbproject/suite.properties: -------------------------------------------------------------------------------- 1 | suite.dir=${basedir}/.. 2 | -------------------------------------------------------------------------------- /JUniversalCharDet/release/modules/ext/juniversalchardet-2.4.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/JUniversalCharDet/release/modules/ext/juniversalchardet-2.4.0.jar -------------------------------------------------------------------------------- /JUniversalCharDet/src/org/joeffice/universalchardet/Bundle.properties: -------------------------------------------------------------------------------- 1 | OpenIDE-Module-Name=JUniversalCharDet 2 | -------------------------------------------------------------------------------- /JavaHelp/build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Builds, tests, and runs the project org.joeffice.javahelp. 7 | 8 | 9 | -------------------------------------------------------------------------------- /JavaHelp/manifest.mf: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | AutoUpdate-Show-In-Client: true 3 | OpenIDE-Module: org.joeffice.javahelp 4 | OpenIDE-Module-Localizing-Bundle: org/joeffice/javahelp/Bundle.properties 5 | OpenIDE-Module-Specification-Version: 1.0 6 | 7 | -------------------------------------------------------------------------------- /JavaHelp/nbproject/genfiles.properties: -------------------------------------------------------------------------------- 1 | build.xml.data.CRC32=52493441 2 | build.xml.script.CRC32=25247e08 3 | build.xml.stylesheet.CRC32=15ca8a54@2.82 4 | # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. 5 | # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. 6 | nbproject/build-impl.xml.data.CRC32=52493441 7 | nbproject/build-impl.xml.script.CRC32=a052576f 8 | nbproject/build-impl.xml.stylesheet.CRC32=49aa68b0@2.82 9 | -------------------------------------------------------------------------------- /JavaHelp/nbproject/project.properties: -------------------------------------------------------------------------------- 1 | is.autoload=true 2 | license.file=${basedir}/javahelp-license.txt 3 | -------------------------------------------------------------------------------- /JavaHelp/nbproject/project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | org.netbeans.modules.apisupport.project 4 | 5 | 6 | org.joeffice.javahelp 7 | 8 | 9 | 10 | com.sun.java.help.impl 11 | com.sun.java.help.search 12 | javax.help 13 | javax.help.event 14 | javax.help.plaf 15 | javax.help.plaf.basic 16 | javax.help.plaf.gtk 17 | javax.help.resources 18 | javax.help.search 19 | javax.help.tagext 20 | 21 | 22 | ext/javahelp-2.0.05.jar 23 | release/modules/ext/javahelp-2.0.05.jar 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /JavaHelp/nbproject/suite.properties: -------------------------------------------------------------------------------- 1 | suite.dir=${basedir}/.. 2 | -------------------------------------------------------------------------------- /JavaHelp/release/modules/ext/javahelp-2.0.05.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/JavaHelp/release/modules/ext/javahelp-2.0.05.jar -------------------------------------------------------------------------------- /JavaHelp/src/org/joeffice/javahelp/Bundle.properties: -------------------------------------------------------------------------------- 1 | OpenIDE-Module-Name=JavaHelp 2 | -------------------------------------------------------------------------------- /Presentation/build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Builds, tests, and runs the project org.joeffice.presentation. 7 | 8 | 9 | -------------------------------------------------------------------------------- /Presentation/manifest.mf: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | AutoUpdate-Show-In-Client: true 3 | OpenIDE-Module: org.joeffice.presentation 4 | OpenIDE-Module-Localizing-Bundle: org/joeffice/presentation/Bundle.properties 5 | OpenIDE-Module-Requires: org.openide.windows.WindowManager 6 | OpenIDE-Module-Specification-Version: 1.0 7 | 8 | -------------------------------------------------------------------------------- /Presentation/nbproject/genfiles.properties: -------------------------------------------------------------------------------- 1 | build.xml.data.CRC32=a36108f0 2 | build.xml.script.CRC32=93e7ba30 3 | build.xml.stylesheet.CRC32=15ca8a54@2.82 4 | # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. 5 | # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. 6 | nbproject/build-impl.xml.data.CRC32=a36108f0 7 | nbproject/build-impl.xml.script.CRC32=c5a9b649 8 | nbproject/build-impl.xml.stylesheet.CRC32=49aa68b0@2.82 9 | -------------------------------------------------------------------------------- /Presentation/nbproject/project.properties: -------------------------------------------------------------------------------- 1 | javac.source=11 2 | javac.compilerargs=-Xlint -Xlint:-serial 3 | license.file=../LICENSE 4 | nbm.homepage=https://www.joeffice.com 5 | nbm.module.author=Japplis 6 | -------------------------------------------------------------------------------- /Presentation/nbproject/suite.properties: -------------------------------------------------------------------------------- 1 | suite.dir=${basedir}/.. 2 | -------------------------------------------------------------------------------- /Presentation/src/org/joeffice/presentation/Bundle.properties: -------------------------------------------------------------------------------- 1 | OpenIDE-Module-Display-Category=Office 2 | OpenIDE-Module-Long-Description=\ 3 | This module allows to open, edit and save presentation documents.\n\ 4 | Supported format is Powerpoint. 5 | OpenIDE-Module-Name=Presentation 6 | OpenIDE-Module-Short-Description=The presentation part of Joeffice 7 | -------------------------------------------------------------------------------- /Presentation/src/org/joeffice/presentation/PptxDescription.html: -------------------------------------------------------------------------------- 1 | 2 | Presentation 3 | -------------------------------------------------------------------------------- /Presentation/src/org/joeffice/presentation/PptxTemplate.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Presentation/src/org/joeffice/presentation/PptxTemplate.pptx -------------------------------------------------------------------------------- /Presentation/src/org/joeffice/presentation/actions/ChooseLayoutAction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.presentation.actions; 17 | 18 | import java.awt.event.ActionEvent; 19 | import java.awt.event.ActionListener; 20 | 21 | import org.apache.poi.xslf.usermodel.XMLSlideShow; 22 | import org.apache.poi.xslf.usermodel.XSLFSlide; 23 | 24 | import org.joeffice.desktop.ui.OfficeTopComponent; 25 | import org.joeffice.presentation.SlidesTopComponent; 26 | 27 | import org.openide.awt.ActionID; 28 | import org.openide.awt.ActionRegistration; 29 | import org.openide.util.NbBundle.Messages; 30 | 31 | /** 32 | * Change the layout of the current slide. 33 | * Not supported in Apache POI 34 | * 35 | * @author Anthony Goubard - Japplis 36 | */ 37 | @ActionID( 38 | category = "Edit/Office/Presentation", 39 | id = "org.joeffice.presentation.actions.ChooseLayoutAction") 40 | @ActionRegistration( 41 | displayName = "#CTL_ChooseLayoutAction") 42 | @Messages("CTL_ChooseLayoutAction=Choose Layout") 43 | public final class ChooseLayoutAction implements ActionListener { 44 | 45 | @Override 46 | public void actionPerformed(ActionEvent e) { 47 | SlidesTopComponent currentTopComponent = OfficeTopComponent.getSelectedComponent(SlidesTopComponent.class); 48 | if (currentTopComponent != null) { 49 | XMLSlideShow currentPresentation = currentTopComponent.getPresentation(); 50 | int selectedSlide = currentTopComponent.getSelectedSlideIndex(); 51 | XSLFSlide slide = currentPresentation.getSlides().get(selectedSlide); 52 | // not possible to change the layout in Apache POI 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /Presentation/src/org/joeffice/presentation/actions/FirstSlideAction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.presentation.actions; 17 | 18 | import java.awt.event.ActionEvent; 19 | import java.awt.event.ActionListener; 20 | 21 | import org.joeffice.desktop.ui.OfficeTopComponent; 22 | import org.joeffice.presentation.SlidesTopComponent; 23 | 24 | import org.openide.awt.ActionID; 25 | import org.openide.awt.ActionReference; 26 | import org.openide.awt.ActionReferences; 27 | import org.openide.awt.ActionRegistration; 28 | import org.openide.util.NbBundle.Messages; 29 | 30 | /** 31 | * Go to the first slide (in editor mode). 32 | * 33 | * @author Anthony Goubard - Japplis 34 | */ 35 | @ActionID( 36 | category = "View/Office/Presentation", 37 | id = "org.joeffice.presentation.actions.FirstSlideAction") 38 | @ActionRegistration( 39 | displayName = "#CTL_FirstSlideAction") 40 | @ActionReferences({ 41 | @ActionReference(path = "Shortcuts", name = "Home") 42 | }) 43 | @Messages("CTL_FirstSlideAction=First Slide") 44 | public class FirstSlideAction implements ActionListener { 45 | 46 | @Override 47 | public void actionPerformed(ActionEvent e) { 48 | firstSlide(); 49 | } 50 | 51 | public void firstSlide() { 52 | SlidesTopComponent currentTopComponent = OfficeTopComponent.getSelectedComponent(SlidesTopComponent.class); 53 | if (currentTopComponent != null) { 54 | currentTopComponent.setSelectedSlideIndex(0); 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /Presentation/src/org/joeffice/presentation/actions/LastSlideAction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.presentation.actions; 17 | 18 | import java.awt.event.ActionEvent; 19 | import java.awt.event.ActionListener; 20 | 21 | import org.joeffice.desktop.ui.OfficeTopComponent; 22 | import org.joeffice.presentation.SlidesTopComponent; 23 | 24 | import org.openide.awt.ActionID; 25 | import org.openide.awt.ActionReference; 26 | import org.openide.awt.ActionReferences; 27 | import org.openide.awt.ActionRegistration; 28 | import org.openide.util.NbBundle.Messages; 29 | 30 | /** 31 | * Go to the last slide (in editor mode). 32 | * 33 | * @author Anthony Goubard - Japplis 34 | */ 35 | @ActionID( 36 | category = "View/Office/Presentation", 37 | id = "org.joeffice.presentation.actions.LastSlideAction") 38 | @ActionRegistration( 39 | displayName = "#CTL_LastSlideAction") 40 | @ActionReferences({ 41 | @ActionReference(path = "Shortcuts", name = "End") 42 | }) 43 | @Messages("CTL_LastSlideAction=Last Slide") 44 | public class LastSlideAction implements ActionListener { 45 | 46 | @Override 47 | public void actionPerformed(ActionEvent e) { 48 | lastSlide(); 49 | } 50 | 51 | public void lastSlide() { 52 | SlidesTopComponent currentTopComponent = OfficeTopComponent.getSelectedComponent(SlidesTopComponent.class); 53 | if (currentTopComponent != null) { 54 | int lastSlide = currentTopComponent.getPresentation().getSlides().size() - 1; 55 | currentTopComponent.setSelectedSlideIndex(lastSlide); 56 | } 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /Presentation/src/org/joeffice/presentation/actions/application_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Presentation/src/org/joeffice/presentation/actions/application_add.png -------------------------------------------------------------------------------- /Presentation/src/org/joeffice/presentation/actions/application_add24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Presentation/src/org/joeffice/presentation/actions/application_add24.png -------------------------------------------------------------------------------- /Presentation/src/org/joeffice/presentation/actions/application_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Presentation/src/org/joeffice/presentation/actions/application_delete.png -------------------------------------------------------------------------------- /Presentation/src/org/joeffice/presentation/actions/application_delete24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Presentation/src/org/joeffice/presentation/actions/application_delete24.png -------------------------------------------------------------------------------- /Presentation/src/org/joeffice/presentation/actions/application_double.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Presentation/src/org/joeffice/presentation/actions/application_double.png -------------------------------------------------------------------------------- /Presentation/src/org/joeffice/presentation/actions/application_double24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Presentation/src/org/joeffice/presentation/actions/application_double24.png -------------------------------------------------------------------------------- /Presentation/src/org/joeffice/presentation/actions/arrow_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Presentation/src/org/joeffice/presentation/actions/arrow_left.png -------------------------------------------------------------------------------- /Presentation/src/org/joeffice/presentation/actions/arrow_left24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Presentation/src/org/joeffice/presentation/actions/arrow_left24.png -------------------------------------------------------------------------------- /Presentation/src/org/joeffice/presentation/actions/arrow_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Presentation/src/org/joeffice/presentation/actions/arrow_right.png -------------------------------------------------------------------------------- /Presentation/src/org/joeffice/presentation/actions/arrow_right24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Presentation/src/org/joeffice/presentation/actions/arrow_right24.png -------------------------------------------------------------------------------- /Presentation/src/org/joeffice/presentation/actions/picture_empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Presentation/src/org/joeffice/presentation/actions/picture_empty.png -------------------------------------------------------------------------------- /Presentation/src/org/joeffice/presentation/actions/picture_empty24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Presentation/src/org/joeffice/presentation/actions/picture_empty24.png -------------------------------------------------------------------------------- /Presentation/src/org/joeffice/presentation/package-info.java: -------------------------------------------------------------------------------- 1 | @TemplateRegistration(folder = "Office", content = "PptxTemplate.pptx", displayName = "#LBL_Pptx_FORMAT", iconBase = "org/joeffice/presentation/presentation-16.png", position = 300, description = "PptxDescription.html", requireProject = false) 2 | @NbBundle.Messages("LBL_Pptx_FORMAT=Powerpoint 2007 / 2010 (Pptx)") 3 | package org.joeffice.presentation; 4 | 5 | import org.netbeans.api.templates.TemplateRegistration; 6 | import org.openide.util.NbBundle; 7 | -------------------------------------------------------------------------------- /Presentation/src/org/joeffice/presentation/presentation-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Presentation/src/org/joeffice/presentation/presentation-16.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Welcome to Joeffice - An Open Source Office Suite written in Java 2 | 3 | ![Joeffice Screenshot](Tools/4square.png "Joeffice Screenshot") 4 | 5 | Joeffice is released under the Apache License version 2.0 6 | 7 | Joeffice modules and file extensions supported: 8 | * Word Processor (docx) 9 | * Spreadsheet (xlsx, xls, csv) 10 | * Presentation (pptx) 11 | * Drawing (svg) 12 | * Database (h2) 13 | 14 | Joeffice uses the following libraries: 15 | * The NetBeans Platform (16) https://netbeans.org/features/platform/ 16 | * Apache POI (5.0.0) https://poi.apache.org/ 17 | * H2 Database (1.4.200) https://www.h2database.com/ 18 | * Batik (included in Apache POI) https://xmlgraphics.apache.org/batik/ 19 | * SwingX (1.6.5) 20 | * JavaHelp (2.0) 21 | * JUniversalCharDet (2.4.0) https://github.com/albfernandez/juniversalchardet 22 | 23 | Software website (for users): 24 | https://www.joeffice.com/ 25 | 26 | Open source project page (for developer / contributors): 27 | https://www.joeffice.org/ 28 | 29 | What are the advantages compared to Microsoft Office: 30 | * Free and Open Source 31 | * Customize using the popular Java programming language 32 | * Dark theme 33 | * Window docking of documents in the application 34 | * Can be included in your company Java applications (Apache License) 35 | 36 | ### TODO 37 | * Recent files 38 | * Macro system (Edit -> Macro) 39 | * Fix actions 40 | * @ActionState 41 | * Fails on Java 16 (NetBeans framework exceptions thrown) 42 | 43 | ### How to contribute: 44 | * There are a few FIXME in the code 45 | * Submit merge request 46 | * For large contributions, sign the contributor license agreement which stays that you and your company donate the code to this project. 47 | 48 | ### Sponsors 49 | * [Japplis](https://www.japplis.com) _better tools, better jobs_ 50 | 51 | ### For feature requests: 52 | * Contact info@japplis.com 53 | -------------------------------------------------------------------------------- /Spreadsheet/README.md: -------------------------------------------------------------------------------- 1 | This module is for the spreadsheet 2 | The supported formats are Microsoft Excel (Xls and Xslx) and Comma Separated Values (CSV) 3 | 4 | Main classes: 5 | * XslxDataObject : The NetBeans DataObject for the xslx files. Mostly responsible for opening and saving the file. 6 | * SpreadsheetTopComponent : The Swing component (NetBeans TopComponent). Mostly responsible for rendering the document in a tab. 7 | ** This class uses a SpreadsheetCompenent for rendering. 8 | * SpreadsheetComponent is responsible for rendering the spreadsheet. 9 | ** It's a JTabbedPane where each tab contains a SheetComponent. 10 | * SheetComponent is responsible for rendering one sheet of the spreadsheet 11 | ** It contains mainly a SheetTable 12 | * SheetTable is an advanced Swing JTable component 13 | * TableTransferHandler for clipboard handling 14 | * XlslxTemplate.xlsx is an empty document that could be used for creating a new document (XslxDescription.html is used for its documentation) 15 | 16 | Packages: 17 | * actions: Actions related to the spreadsheet only 18 | * cell: cell rendering and editing components 19 | * csv: CSV related classes like parsing file 20 | * rows: Component used to add support for row headers to the JTable 21 | * sequence: Set of sequences. A sequence allow to complete empty cells based on the first few cell value. Like 1,2 has the sequence 1,2,3,4,5,... 22 | * sheet: Classes use on a single sheet 23 | 24 | -------------------------------------------------------------------------------- /Spreadsheet/build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Builds, tests, and runs the project org.joeffice.spreadsheet. 7 | 8 | 9 | -------------------------------------------------------------------------------- /Spreadsheet/manifest.mf: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | AutoUpdate-Show-In-Client: true 3 | OpenIDE-Module: org.joeffice.spreadsheet 4 | OpenIDE-Module-Localizing-Bundle: org/joeffice/spreadsheet/Bundle.properties 5 | OpenIDE-Module-Requires: org.openide.windows.WindowManager 6 | OpenIDE-Module-Specification-Version: 1.0 7 | 8 | -------------------------------------------------------------------------------- /Spreadsheet/nbproject/genfiles.properties: -------------------------------------------------------------------------------- 1 | build.xml.data.CRC32=1763d694 2 | build.xml.script.CRC32=095e3930 3 | build.xml.stylesheet.CRC32=15ca8a54@2.82 4 | # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. 5 | # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. 6 | nbproject/build-impl.xml.data.CRC32=1763d694 7 | nbproject/build-impl.xml.script.CRC32=2afb83cb 8 | nbproject/build-impl.xml.stylesheet.CRC32=49aa68b0@2.82 9 | -------------------------------------------------------------------------------- /Spreadsheet/nbproject/project.properties: -------------------------------------------------------------------------------- 1 | javac.source=11 2 | javac.compilerargs=-Xlint -Xlint:-serial 3 | license.file=../LICENSE 4 | nbm.homepage=https://www.joeffice.com 5 | nbm.module.author=Japplis 6 | -------------------------------------------------------------------------------- /Spreadsheet/nbproject/suite.properties: -------------------------------------------------------------------------------- 1 | suite.dir=${basedir}/.. 2 | -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/Bundle.properties: -------------------------------------------------------------------------------- 1 | OpenIDE-Module-Display-Category=Office 2 | OpenIDE-Module-Long-Description=\ 3 | This module allows to open, edit and save spreadsheet documents.\n\ 4 | Support format are Excel and CSV. 5 | OpenIDE-Module-Name=Spreadsheet 6 | OpenIDE-Module-Short-Description=The spreadsheet part of Joeffice 7 | -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/JoefficeWorkbookFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.spreadsheet; 17 | 18 | import java.io.File; 19 | import java.io.IOException; 20 | 21 | import org.apache.poi.ss.usermodel.Workbook; 22 | import org.apache.poi.ss.usermodel.WorkbookFactory; 23 | 24 | import org.joeffice.spreadsheet.csv.SmartCsvReader; 25 | 26 | /** 27 | * Workbook factory that also support CSV files. 28 | * 29 | * @author Anthony Goubard - Japplis 30 | */ 31 | public class JoefficeWorkbookFactory { 32 | 33 | public static Workbook create(File file) throws IOException { 34 | String fileName = file.getName().toLowerCase(); 35 | if (fileName.endsWith(".csv") || fileName.endsWith(".txt") || fileName.endsWith(".tsv")) { 36 | SmartCsvReader csvReader = new SmartCsvReader(); 37 | return csvReader.read(file); 38 | } else { 39 | return WorkbookFactory.create(file); 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/XlsDescription.html: -------------------------------------------------------------------------------- 1 | 2 | Excel 97-2003 Spreadsheet 3 | -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/XlsDescription_fr.html: -------------------------------------------------------------------------------- 1 | 2 | Tableau Excel 97-2003 3 | -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/XlsTemplate.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Spreadsheet/src/org/joeffice/spreadsheet/XlsTemplate.xls -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/XlsxDescription.html: -------------------------------------------------------------------------------- 1 | 2 | Excel spreadsheet 3 | -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/XlsxTemplate.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Spreadsheet/src/org/joeffice/spreadsheet/XlsxTemplate.xlsx -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/actions/ClipboardAction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.spreadsheet.actions; 17 | 18 | import static javax.swing.Action.NAME; 19 | 20 | import java.awt.event.ActionEvent; 21 | import javax.swing.AbstractAction; 22 | import javax.swing.Action; 23 | import javax.swing.JTable; 24 | 25 | import org.joeffice.spreadsheet.SpreadsheetTopComponent; 26 | 27 | import org.openide.windows.TopComponent; 28 | 29 | /** 30 | * This action just changes the source component of the action event. 31 | * 32 | * @author Anthony Goubard - Japplis 33 | */ 34 | public class ClipboardAction extends AbstractAction { 35 | 36 | public ClipboardAction(String name) { 37 | putValue(NAME, name); 38 | } 39 | 40 | @Override 41 | public void actionPerformed(ActionEvent ae) { 42 | TopComponent currentTopComponent = TopComponent.getRegistry().getActivated(); 43 | if (currentTopComponent instanceof SpreadsheetTopComponent) { 44 | JTable currentTable = ((SpreadsheetTopComponent) currentTopComponent).getSelectedTable(); 45 | String originalActionName = (String) getValue(NAME); 46 | originalActionName = originalActionName.substring(0, originalActionName.indexOf('-')); // paste-from-clipboard -> paste 47 | Action tableAction = currentTable.getActionMap().get(originalActionName); 48 | ActionEvent newEvent = new ActionEvent(currentTable, ae.getID(), ae.getActionCommand(), ae.getWhen(), ae.getModifiers()); 49 | tableAction.actionPerformed(newEvent); 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/actions/InsertColumnAction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.spreadsheet.actions; 17 | 18 | import java.awt.event.ActionEvent; 19 | import java.awt.event.ActionListener; 20 | import javax.swing.JTable; 21 | 22 | import org.joeffice.desktop.ui.OfficeTopComponent; 23 | import org.joeffice.spreadsheet.SpreadsheetTopComponent; 24 | import org.joeffice.spreadsheet.sheet.SheetTableModel; 25 | 26 | import org.openide.awt.ActionID; 27 | import org.openide.awt.ActionReference; 28 | import org.openide.awt.ActionReferences; 29 | import org.openide.awt.ActionRegistration; 30 | import org.openide.util.NbBundle.Messages; 31 | 32 | /** 33 | * Action to insert a column. 34 | * 35 | * @author Anthony Goubard - Japplis 36 | */ 37 | @ActionID( 38 | category = "Edit/Office/Spreadsheet", 39 | id = "org.joeffice.spreadsheet.actions.InsertColumnAction") 40 | @ActionRegistration( 41 | displayName = "#CTL_InsertColumnAction") 42 | @ActionReferences(value = { 43 | @ActionReference(path = "Menu/Edit/Gimme More/Spreadsheet", position = 300)}) 44 | @Messages("CTL_InsertColumnAction=Insert Column") 45 | public final class InsertColumnAction implements ActionListener { 46 | 47 | @Override 48 | public void actionPerformed(ActionEvent e) { 49 | SpreadsheetTopComponent currentTopComponent = OfficeTopComponent.getSelectedComponent(SpreadsheetTopComponent.class); 50 | if (currentTopComponent != null) { 51 | JTable currentTable = currentTopComponent.getSelectedTable(); 52 | int selectedColumn = currentTable.getSelectedColumn(); 53 | ((SheetTableModel) currentTable.getModel()).insertColumn(selectedColumn); 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/actions/RemoveColumnAction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.spreadsheet.actions; 17 | 18 | import java.awt.event.ActionEvent; 19 | import java.awt.event.ActionListener; 20 | import javax.swing.JTable; 21 | import org.joeffice.desktop.ui.OfficeTopComponent; 22 | import org.joeffice.spreadsheet.SpreadsheetTopComponent; 23 | import org.joeffice.spreadsheet.sheet.SheetTableModel; 24 | import org.openide.awt.ActionID; 25 | import org.openide.awt.ActionReference; 26 | import org.openide.awt.ActionReferences; 27 | import org.openide.awt.ActionRegistration; 28 | import org.openide.util.NbBundle.Messages; 29 | 30 | /** 31 | * Removes the first selected column. 32 | * 33 | * @author Anthony Goubard - Japplis 34 | */ 35 | @ActionID( 36 | category = "Edit/Office/Spreadsheet", 37 | id = "org.joeffice.spreadsheet.actions.RemoveColumnAction") 38 | @ActionRegistration( 39 | displayName = "#CTL_RemoveColumnAction") 40 | @ActionReferences(value = { 41 | @ActionReference(path = "Menu/Edit/Gimme More/Spreadsheet", position = 400)}) 42 | @Messages("CTL_RemoveColumnAction=Remove Column") 43 | public final class RemoveColumnAction implements ActionListener { 44 | 45 | @Override 46 | public void actionPerformed(ActionEvent e) { 47 | SpreadsheetTopComponent currentTopComponent = OfficeTopComponent.getSelectedComponent(SpreadsheetTopComponent.class); 48 | if (currentTopComponent != null) { 49 | JTable currentTable = currentTopComponent.getSelectedTable(); 50 | int selectedColumn = currentTable.getSelectedColumn(); 51 | ((SheetTableModel) currentTable.getModel()).removeColumn(selectedColumn); 52 | } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/actions/RemoveSheetAction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.spreadsheet.actions; 17 | 18 | import java.awt.event.ActionEvent; 19 | import java.awt.event.ActionListener; 20 | 21 | import org.joeffice.spreadsheet.SpreadsheetComponent; 22 | 23 | import org.openide.awt.ActionID; 24 | import org.openide.awt.ActionReference; 25 | import org.openide.awt.ActionReferences; 26 | import org.openide.awt.ActionRegistration; 27 | import org.openide.util.NbBundle.Messages; 28 | 29 | /** 30 | * Remove the selected sheet. 31 | * 32 | * @author Anthony Goubard - Japplis 33 | */ 34 | @ActionID( 35 | category = "Edit/Office/Spreadsheet", 36 | id = "org.joeffice.spreadsheet.actions.RemoveSheetAction") 37 | @ActionRegistration( 38 | iconBase = "org/joeffice/spreadsheet/actions/table_delete.png", 39 | displayName = "#CTL_RemoveSheetAction") 40 | @ActionReferences(value = { 41 | /* @ActionReference(path = "Office/Spreadsheet/Toolbar", position = 600), */ 42 | @ActionReference(path = "Office/Spreadsheet/Tabs/Popup")}) 43 | @Messages("CTL_RemoveSheetAction=Remove sheet") 44 | public final class RemoveSheetAction implements ActionListener { 45 | 46 | @Override 47 | public void actionPerformed(ActionEvent e) { 48 | SpreadsheetComponent spreadsheet = SpreadsheetComponent.getSelectedInstance(); 49 | if (spreadsheet != null) { 50 | spreadsheet.removeCurrentSheet(); 51 | } 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/actions/application_go.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Spreadsheet/src/org/joeffice/spreadsheet/actions/application_go.png -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/actions/application_go24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Spreadsheet/src/org/joeffice/spreadsheet/actions/application_go24.png -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/actions/application_view_columns.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Spreadsheet/src/org/joeffice/spreadsheet/actions/application_view_columns.png -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/actions/application_view_columns24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Spreadsheet/src/org/joeffice/spreadsheet/actions/application_view_columns24.png -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/actions/application_xp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Spreadsheet/src/org/joeffice/spreadsheet/actions/application_xp.png -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/actions/application_xp24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Spreadsheet/src/org/joeffice/spreadsheet/actions/application_xp24.png -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/actions/date.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Spreadsheet/src/org/joeffice/spreadsheet/actions/date.png -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/actions/date24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Spreadsheet/src/org/joeffice/spreadsheet/actions/date24.png -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/actions/money.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Spreadsheet/src/org/joeffice/spreadsheet/actions/money.png -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/actions/money24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Spreadsheet/src/org/joeffice/spreadsheet/actions/money24.png -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/actions/page_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Spreadsheet/src/org/joeffice/spreadsheet/actions/page_add.png -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/actions/page_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Spreadsheet/src/org/joeffice/spreadsheet/actions/page_delete.png -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/actions/style_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Spreadsheet/src/org/joeffice/spreadsheet/actions/style_edit.png -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/actions/style_edit24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Spreadsheet/src/org/joeffice/spreadsheet/actions/style_edit24.png -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/actions/table_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Spreadsheet/src/org/joeffice/spreadsheet/actions/table_add.png -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/actions/table_add24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Spreadsheet/src/org/joeffice/spreadsheet/actions/table_add24.png -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/actions/table_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Spreadsheet/src/org/joeffice/spreadsheet/actions/table_delete.png -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/actions/table_delete24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Spreadsheet/src/org/joeffice/spreadsheet/actions/table_delete24.png -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/actions/table_go.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Spreadsheet/src/org/joeffice/spreadsheet/actions/table_go.png -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/actions/table_go24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Spreadsheet/src/org/joeffice/spreadsheet/actions/table_go24.png -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/actions/table_row_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Spreadsheet/src/org/joeffice/spreadsheet/actions/table_row_delete.png -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/actions/table_row_delete24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Spreadsheet/src/org/joeffice/spreadsheet/actions/table_row_delete24.png -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/actions/table_row_insert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Spreadsheet/src/org/joeffice/spreadsheet/actions/table_row_insert.png -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/actions/table_row_insert24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Spreadsheet/src/org/joeffice/spreadsheet/actions/table_row_insert24.png -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/actions/textfield_rename.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Spreadsheet/src/org/joeffice/spreadsheet/actions/textfield_rename.png -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/cell/CellEditor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.spreadsheet.cell; 17 | 18 | import java.awt.Component; 19 | import java.util.EnumSet; 20 | 21 | import javax.swing.*; 22 | import javax.swing.table.TableCellEditor; 23 | import org.apache.poi.ss.usermodel.Cell; 24 | 25 | /** 26 | * Editor for POI Cell objects. 27 | * 28 | * @author Anthony Goubard - Japplis 29 | */ 30 | public class CellEditor extends DefaultCellEditor implements TableCellEditor { 31 | 32 | public final static CellEditor DEFAULT_EDITOR = new CellEditor(); 33 | public final static CellRenderer DEFAULT_RENDERER = new CellRenderer(); 34 | 35 | public CellEditor() { 36 | super(new JTextField()); 37 | } 38 | 39 | @Override 40 | public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) { 41 | super.getTableCellEditorComponent(table, value, isSelected, row, column); 42 | if (value != null) { 43 | JComponent defaultComponent = (JComponent) DEFAULT_EDITOR. 44 | getTableCellEditorComponent(table, null, isSelected, row, column); 45 | Cell cell = (Cell) value; 46 | ((JTextField) getComponent()).setText(CellUtils.getFormattedText(cell)); 47 | DEFAULT_RENDERER.renderCell(cell, (JComponent) getComponent(), defaultComponent, EnumSet.of(CellRenderer.Feature.BACKGROUND, CellRenderer.Feature.FONT, CellRenderer.Feature.BORDER)); 48 | } 49 | return getComponent(); 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/csv/CSVWorkbook.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.spreadsheet.csv; 17 | 18 | import java.io.IOException; 19 | import java.io.OutputStream; 20 | import org.apache.poi.xssf.usermodel.XSSFWorkbook; 21 | 22 | /** 23 | * Workbook that handle csv files. 24 | * 25 | * @author Anthony Goubard - Japplis 26 | */ 27 | public class CSVWorkbook extends XSSFWorkbook { 28 | 29 | private SmartCsvReader reader; 30 | 31 | public CSVWorkbook(SmartCsvReader reader) { 32 | this.reader = reader; 33 | } 34 | 35 | // The write method is final in XSSFWorkbook so I've change the name 36 | public void write2(OutputStream output) throws IOException { 37 | reader.write(output, this); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/csv/CsvDescription.html: -------------------------------------------------------------------------------- 1 | 2 | Csv Spreadsheet 3 | -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/csv/CsvTemplate.csv: -------------------------------------------------------------------------------- 1 | sample content -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/csv/package-info.java: -------------------------------------------------------------------------------- 1 | @TemplateRegistration(folder = "Office", content = "CsvTemplate.csv", displayName = "#LBL_Csv_FORMAT", iconBase = "org/joeffice/spreadsheet/spreadsheet-16.png", position = 240, description = "CsvDescription.html", requireProject = false) 2 | @NbBundle.Messages("LBL_Csv_FORMAT=Csv spreasheet") 3 | package org.joeffice.spreadsheet.csv; 4 | 5 | import org.netbeans.api.templates.TemplateRegistration; 6 | import org.openide.util.NbBundle; 7 | -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/package-info.java: -------------------------------------------------------------------------------- 1 | @TemplateRegistrations({ 2 | @TemplateRegistration(folder = "Office", content = "XlsxTemplate.xlsx", displayName = "#LBL_Xlsx_FORMAT", iconBase = "org/joeffice/spreadsheet/spreadsheet-16.png", position = 200, description = "XlsxDescription.html", requireProject = false), 3 | @TemplateRegistration(folder = "Office", content = "XlsTemplate.xls", displayName = "#LBL_Xls_FORMAT", iconBase = "org/joeffice/spreadsheet/spreadsheet-16.png", position = 220, description = "XlsDescription.html", requireProject = false) 4 | }) 5 | @NbBundle.Messages({ 6 | "LBL_Xlsx_FORMAT=Excel Spreadsheet", 7 | "LBL_Xls_FORMAT=Excel 97-2003 Spreadsheet" 8 | }) 9 | package org.joeffice.spreadsheet; 10 | 11 | import org.netbeans.api.templates.TemplateRegistration; 12 | import org.netbeans.api.templates.TemplateRegistrations; 13 | import org.openide.util.NbBundle; 14 | -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/rows/RowHeadersRenderer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.spreadsheet.rows; 17 | 18 | import java.awt.Component; 19 | import java.awt.Insets; 20 | import javax.swing.JTable; 21 | import javax.swing.JToggleButton; 22 | import javax.swing.table.TableCellRenderer; 23 | 24 | /** 25 | * The renderer for the row headers. 26 | * 27 | * @author Anthony Goubard - Japplis 28 | */ 29 | public class RowHeadersRenderer extends JToggleButton implements TableCellRenderer { 30 | 31 | @Override 32 | public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { 33 | setBorderPainted(false); 34 | setBorder(null); 35 | setMargin(new Insets(0, 0, 0, 0)); 36 | setContentAreaFilled(false); 37 | String sValue = "" + value; 38 | setText(sValue); 39 | if (sValue.length() > 5) setToolTipText(sValue); 40 | else setToolTipText(null); 41 | return this; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/rows/RowTableFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.spreadsheet.rows; 17 | 18 | import static javax.swing.ScrollPaneConstants.UPPER_LEFT_CORNER; 19 | 20 | import javax.swing.JComponent; 21 | import javax.swing.JScrollPane; 22 | import javax.swing.JTable; 23 | 24 | /** 25 | * Factory to create attach a row to a data table. 26 | * 27 | * @author Anthony Goubard - Japplis 28 | */ 29 | public class RowTableFactory { 30 | 31 | public static JScrollPane attachRows(JTable dataTable, JComponent view) { 32 | JScrollPane scrolling = new JScrollPane(view); 33 | JTable rowHeaders = new RowTable(dataTable); 34 | scrolling.setRowHeaderView(rowHeaders); 35 | scrolling.setCorner(UPPER_LEFT_CORNER, rowHeaders.getTableHeader()); 36 | new JScrollPaneAdjuster(scrolling); 37 | scrolling.getVerticalScrollBar().setUnitIncrement(16); 38 | return scrolling; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/sequence/FreeTextSequences.properties: -------------------------------------------------------------------------------- 1 | 2 | numbers=zero,one,two,three,four,five,six,seven,eight,nine,ten 3 | seasons=spring,summer,autumn,winter -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/sequence/FreeTextSequences_fr.properties: -------------------------------------------------------------------------------- 1 | 2 | numbers=zero,un,deux,trois,quatre,cinq,six,sept,huit,neuf,dix 3 | seasons=printemps,\u00e9t\u00e9,automne,hiver -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/sequence/IdentitySequence.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.spreadsheet.sequence; 17 | 18 | import java.util.List; 19 | 20 | /** 21 | * Repeat the same text. 22 | * 23 | * @author Anthony Goubard - Japplis 24 | */ 25 | public class IdentitySequence implements Sequence { 26 | 27 | @Override 28 | public String getNextValue(List previousValues) { 29 | String lastValue = null; 30 | for (String value : previousValues) { 31 | if (lastValue == null) { 32 | lastValue = value; 33 | } else if (!lastValue.equals(value)) { 34 | return null; 35 | } 36 | } 37 | return lastValue; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/sequence/Sequence.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.spreadsheet.sequence; 17 | 18 | import java.util.List; 19 | 20 | /** 21 | * Interface with method to get the next value of a sequence. 22 | * 23 | * @author Anthony Goubard - Japplis 24 | */ 25 | public interface Sequence { 26 | 27 | String getNextValue(List previousValues); 28 | } 29 | -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/sheet/SheetListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.spreadsheet.sheet; 17 | 18 | import java.awt.Dimension; 19 | import java.awt.Rectangle; 20 | import javax.swing.JTable; 21 | import javax.swing.event.TableModelEvent; 22 | import javax.swing.event.TableModelListener; 23 | 24 | 25 | /** 26 | * Listens to updates in the sheet to adapt the printable part. 27 | * 28 | * @author Anthony Goubard - Japplis 29 | */ 30 | public class SheetListener implements TableModelListener { 31 | 32 | private JTable table; 33 | 34 | public SheetListener(JTable table) { 35 | this.table = table; 36 | table.getModel().addTableModelListener(this); 37 | } 38 | 39 | @Override 40 | public void tableChanged(TableModelEvent tme) { 41 | if (tme.getType() == TableModelEvent.UPDATE) { 42 | SheetTableModel tableModel = (SheetTableModel) tme.getSource(); 43 | int lastRow = tableModel.getLastRowNum(); 44 | int lastColumn = tableModel.getLastColumnNum(); 45 | Rectangle lastDataCellBounds = table.getCellRect(lastRow, lastColumn, true); 46 | table.putClientProperty("print.size", new Dimension(lastDataCellBounds.x + lastDataCellBounds.width, lastDataCellBounds.y + lastDataCellBounds.height)); 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /Spreadsheet/src/org/joeffice/spreadsheet/spreadsheet-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Spreadsheet/src/org/joeffice/spreadsheet/spreadsheet-16.png -------------------------------------------------------------------------------- /SwingX/build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Builds, tests, and runs the project org.joeffice.swingx. 7 | 8 | 9 | -------------------------------------------------------------------------------- /SwingX/manifest.mf: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | AutoUpdate-Show-In-Client: true 3 | OpenIDE-Module: org.joeffice.swingx 4 | OpenIDE-Module-Localizing-Bundle: org/joeffice/swingx/Bundle.properties 5 | OpenIDE-Module-Specification-Version: 1.0 6 | 7 | -------------------------------------------------------------------------------- /SwingX/nbproject/build-impl.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | You must set 'suite.dir' to point to your containing module suite 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /SwingX/nbproject/genfiles.properties: -------------------------------------------------------------------------------- 1 | build.xml.data.CRC32=6682523f 2 | build.xml.script.CRC32=9cf2958e 3 | build.xml.stylesheet.CRC32=15ca8a54@2.82 4 | # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. 5 | # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. 6 | nbproject/build-impl.xml.data.CRC32=6682523f 7 | nbproject/build-impl.xml.script.CRC32=1a8b6ff3 8 | nbproject/build-impl.xml.stylesheet.CRC32=49aa68b0@2.82 9 | -------------------------------------------------------------------------------- /SwingX/nbproject/project.properties: -------------------------------------------------------------------------------- 1 | file.reference.org.jdesktop.swingx.scrollpaneselector.jar=release/modules/ext/org.jdesktop.swingx.scrollpaneselector.jar 2 | file.reference.swingx-all-1.6.5.jar=release/modules/ext/swingx-all-1.6.5.jar 3 | is.autoload=true 4 | license.file=${basedir}/lgpl-3.0.txt 5 | -------------------------------------------------------------------------------- /SwingX/nbproject/suite.properties: -------------------------------------------------------------------------------- 1 | suite.dir=${basedir}/.. 2 | -------------------------------------------------------------------------------- /SwingX/release/modules/ext/org.jdesktop.swingx.scrollpaneselector.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/SwingX/release/modules/ext/org.jdesktop.swingx.scrollpaneselector.jar -------------------------------------------------------------------------------- /SwingX/release/modules/ext/swingx-all-1.6.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/SwingX/release/modules/ext/swingx-all-1.6.5.jar -------------------------------------------------------------------------------- /SwingX/src/org/joeffice/swingx/Bundle.properties: -------------------------------------------------------------------------------- 1 | OpenIDE-Module-Name=SwingX 2 | -------------------------------------------------------------------------------- /Tools/4square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/4square.png -------------------------------------------------------------------------------- /Tools/build-applet.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Builds the Applet Joeffice. 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /Tools/example.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/example.docx -------------------------------------------------------------------------------- /Tools/example.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/example.pptx -------------------------------------------------------------------------------- /Tools/joeffice.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/joeffice.icns -------------------------------------------------------------------------------- /Tools/joeffice.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/joeffice.ico -------------------------------------------------------------------------------- /Tools/spreadsheet.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/spreadsheet.xlsx -------------------------------------------------------------------------------- /Tools/src/org/joeffice/tools/CreatePresentationDirectories.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.tools; 17 | 18 | import java.io.*; 19 | 20 | /** 21 | * This class will create the directories for the 30 days development. In each directory, it will create a 22 | * presentation.txt file C:\Java\projects\Joeffice\tools\src>javac org\joeffice\tools\CreatePresentationDirectories.java 23 | * java -cp . org.joeffice.tools.CreatePresentationDirectories 24 | * 25 | * @author Anthony Goubard 26 | */ 27 | public class CreatePresentationDirectories { 28 | 29 | public static void main(String[] args) throws IOException { 30 | File presentationsDir = new File("C:\\Java\\projects\\Joeffice\\admin\\marketing\\presentations"); 31 | for (int i = 1; i <= 30; i++) { 32 | File dayDir = new File(presentationsDir, "day-" + i); 33 | dayDir.mkdir(); 34 | File presentationFile = new File(dayDir, "presentation.txt"); 35 | presentationFile.createNewFile(); 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /Tools/src/org/joeffice/tools/JTableCellSelection.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.tools; 17 | 18 | import javax.swing.*; 19 | import javax.swing.event.ListSelectionEvent; 20 | import javax.swing.event.ListSelectionListener; 21 | 22 | public class JTableCellSelection { 23 | 24 | public static void showDemo(JComponent demo, String title) { 25 | JFrame mainFrame = new JFrame(); 26 | mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 27 | mainFrame.setTitle(title); 28 | 29 | mainFrame.add(demo); 30 | mainFrame.pack(); 31 | mainFrame.setVisible(true); 32 | } 33 | 34 | public static void main(String[] args) { 35 | final JTable table = new JTable(10, 10) { 36 | public void changeSelection(int rowIndex, int columnIndex, boolean toggle, boolean extend) { 37 | System.out.println(rowIndex + "," + columnIndex + "," + toggle + "," + extend); 38 | super.changeSelection(rowIndex, columnIndex, toggle, extend); 39 | } 40 | }; 41 | table.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); 42 | table.setCellSelectionEnabled(true); 43 | table.addRowSelectionInterval(6, 7); // Select 2 lines 44 | /*table.getSelectionModel().addListSelectionListener(new ListSelectionListener() { 45 | 46 | @Override 47 | public void valueChanged(ListSelectionEvent lse) { 48 | System.out.println(lse.getFirstIndex() + ";" + lse.getLastIndex() + ";" + table.isCellSelected(8, 2)); 49 | } 50 | });*/ 51 | showDemo(new JScrollPane(table), "Select a block and some rows"); 52 | } 53 | } -------------------------------------------------------------------------------- /Tools/src/org/joeffice/tools/PoiXlsxBackground.java: -------------------------------------------------------------------------------- 1 | package org.joeffice.tools; 2 | 3 | import org.apache.poi.ss.usermodel.*; 4 | import org.apache.poi.xssf.usermodel.*; 5 | 6 | import java.io.File; 7 | import java.io.FileInputStream; 8 | import java.io.IOException; 9 | import java.util.Arrays; 10 | 11 | // java -classpath "../Apache-POI/release/modules/ext/*" org\joeffice\tools\PoiXlsxBackground.java 12 | public class PoiXlsxBackground { 13 | 14 | public static void checkBackground(File xlsxFile) throws IOException { 15 | XSSFWorkbook workbook = new XSSFWorkbook(new FileInputStream(xlsxFile)); 16 | XSSFSheet sheet = workbook.getSheetAt(0); 17 | Cell firstCell = sheet.getRow(0).getCell(0); 18 | CellStyle style = firstCell.getCellStyle(); 19 | IndexedColorMap colorMap = workbook.getStylesSource().getIndexedColors(); 20 | 21 | // The first cell has a blue background 22 | XSSFColor fgColor = XSSFColor.toXSSFColor(style.getFillForegroundColorColor()); 23 | System.out.println("Foreground fill color " + fgColor.getARGBHex()); 24 | int fgColorIndex = style.getFillForegroundColor(); 25 | if (fgColorIndex > 0) { 26 | byte[] rgb = colorMap.getRGB(fgColorIndex); 27 | System.out.println("Foreground fill color from index " + Arrays.toString(rgb)); 28 | } 29 | 30 | XSSFColor bgColor = XSSFColor.toXSSFColor(style.getFillBackgroundColorColor()); 31 | System.out.println("Background fill color " + bgColor.getARGBHex()); 32 | int bgColorIndex = style.getFillBackgroundColor(); 33 | if (bgColorIndex > 0) { 34 | byte[] rgb = colorMap.getRGB(bgColorIndex); 35 | System.out.println("Foreground fill color from index " + Arrays.toString(rgb)); 36 | } 37 | } 38 | 39 | 40 | 41 | public static void main(String... args) throws IOException { 42 | File xlsxFile = new File("blue-background.xlsx"); 43 | checkBackground(xlsxFile); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /Tools/tests/Database - 1 item.h2.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/tests/Database - 1 item.h2.db -------------------------------------------------------------------------------- /Tools/tests/Database - 1 item.h2.db.orig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/tests/Database - 1 item.h2.db.orig -------------------------------------------------------------------------------- /Tools/tests/Database - empty.h2.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/tests/Database - empty.h2.db -------------------------------------------------------------------------------- /Tools/tests/Database - empty.h2.db.orig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/tests/Database - empty.h2.db.orig -------------------------------------------------------------------------------- /Tools/tests/Presentation - backgrounds.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/tests/Presentation - backgrounds.pptx -------------------------------------------------------------------------------- /Tools/tests/Presentation - style - include.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/tests/Presentation - style - include.pptx -------------------------------------------------------------------------------- /Tools/tests/Presentation - style - include.pptx.orig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/tests/Presentation - style - include.pptx.orig -------------------------------------------------------------------------------- /Tools/tests/Presentation - title - subtitle - for save.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/tests/Presentation - title - subtitle - for save.pptx -------------------------------------------------------------------------------- /Tools/tests/Presentation - title - subtitle.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/tests/Presentation - title - subtitle.pptx -------------------------------------------------------------------------------- /Tools/tests/Spreadsheet - CSV - for save.csv: -------------------------------------------------------------------------------- 1 | "Firstname","lastname","age" 2 | "This","is a","33" 3 | "of a","cvs 3","44" 4 | "file","with numbers","55,6" 5 | -------------------------------------------------------------------------------- /Tools/tests/Spreadsheet - CSV.csv: -------------------------------------------------------------------------------- 1 | Firstname,lastname,age 2 | This,is a ,33 3 | of a,cvs,44 4 | file,with numbers,"55,6" 5 | -------------------------------------------------------------------------------- /Tools/tests/Spreadsheet - helloworld.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/tests/Spreadsheet - helloworld.xls -------------------------------------------------------------------------------- /Tools/tests/Spreadsheet - helloworld.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/tests/Spreadsheet - helloworld.xlsx -------------------------------------------------------------------------------- /Tools/tests/Spreadsheet - style - link - image.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/tests/Spreadsheet - style - link - image.xlsx -------------------------------------------------------------------------------- /Tools/tests/Spreadsheet - style.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/tests/Spreadsheet - style.xls -------------------------------------------------------------------------------- /Tools/tests/Spreadsheet - style.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/tests/Spreadsheet - style.xlsx -------------------------------------------------------------------------------- /Tools/tests/Spreadsheet - style.xlsx.orig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/tests/Spreadsheet - style.xlsx.orig -------------------------------------------------------------------------------- /Tools/tests/Spreadsheet - tabs - border - chart - formula.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/tests/Spreadsheet - tabs - border - chart - formula.xlsx -------------------------------------------------------------------------------- /Tools/tests/Word - header - lists - picture - table.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/tests/Word - header - lists - picture - table.docx -------------------------------------------------------------------------------- /Tools/tests/Word - helloworld - for save.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/tests/Word - helloworld - for save.docx -------------------------------------------------------------------------------- /Tools/tests/Word - helloworld - for save.docx.orig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/tests/Word - helloworld - for save.docx.orig -------------------------------------------------------------------------------- /Tools/tests/Word - helloworld.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/tests/Word - helloworld.docx -------------------------------------------------------------------------------- /Tools/tests/Word - lists -table - gdocs.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/tests/Word - lists -table - gdocs.docx -------------------------------------------------------------------------------- /Tools/tests/Word - lists -table.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/tests/Word - lists -table.docx -------------------------------------------------------------------------------- /Tools/tests/Word - style - TOC.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/tests/Word - style - TOC.docx -------------------------------------------------------------------------------- /Tools/tests/Word - style - for save.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/tests/Word - style - for save.docx -------------------------------------------------------------------------------- /Tools/tests/Word - style.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/tests/Word - style.docx -------------------------------------------------------------------------------- /Tools/tests/old-doc.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/tests/old-doc.doc -------------------------------------------------------------------------------- /Tools/tests/test2.h2.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/Tools/tests/test2.h2.db -------------------------------------------------------------------------------- /WordProcessor/README.md: -------------------------------------------------------------------------------- 1 | This module is for word processing 2 | Only supported format at the moment is Microsoft Word (Docx) 3 | 4 | Main classes: 5 | * DocxDataObject : The NetBeans DataObject for the docx file. Mostly responsible for opening and saving the file. 6 | * WordProcessorTopComponent : The Swing component (NetBeans TopComponent). Mostly responsible for rendering the document in a tab. 7 | ** This class uses a Swing JTextPane for rendering. 8 | ** The JTextPane uses DocxEditorKit as editor kit 9 | * DocxEditorKit is responsible modify the Swing document 10 | ** DocxEditorKit uses DocxDocument (Swing DefaultStyleDocument) for the data of the document. 11 | * DocxDocument is used to add/remove elements in the Swing document 12 | * DocumentUpdater is a process that listen to the changed in DocxDocument and updates the Apache POI document with the same changes 13 | so that you save the same data as you see in the JTextPane. 14 | * DocumentUpdater2 is an attempt for a better updater synchronization between the Swing document and the POI document doesn't always work correctly. 15 | * RichTextTransferHandler for clipboard handling 16 | * TransferableRichText is used for copy / paste of RTF (text + attributes) if available or of plain text. 17 | * DocxTemplate.docx is an empty document that could be used for creating a new document (DocxDescription.html is used for its documentation) 18 | 19 | Packages: 20 | * actions: Actions related to word processor only 21 | ** SimpleActionsFactory: A collection of actions, simpler to maintain than creating 1 file per action. 22 | * app: Swing components used for actions that can modify the document 23 | * reader: Parse the Apache POI document to a DocxDocument. 24 | * view: Swing components used to render different parts of the document, like a table 25 | -------------------------------------------------------------------------------- /WordProcessor/build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Builds, tests, and runs the project org.joeffice.wordprocessor. 7 | 8 | 9 | -------------------------------------------------------------------------------- /WordProcessor/manifest.mf: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | AutoUpdate-Show-In-Client: true 3 | OpenIDE-Module: org.joeffice.wordprocessor 4 | OpenIDE-Module-Localizing-Bundle: org/joeffice/wordprocessor/Bundle.properties 5 | OpenIDE-Module-Requires: org.openide.windows.WindowManager 6 | OpenIDE-Module-Specification-Version: 1.0 7 | 8 | -------------------------------------------------------------------------------- /WordProcessor/nbproject/genfiles.properties: -------------------------------------------------------------------------------- 1 | build.xml.data.CRC32=8e1a08e5 2 | build.xml.script.CRC32=03f733d4 3 | build.xml.stylesheet.CRC32=15ca8a54@2.82 4 | # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. 5 | # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. 6 | nbproject/build-impl.xml.data.CRC32=8e1a08e5 7 | nbproject/build-impl.xml.script.CRC32=3d8601dc 8 | nbproject/build-impl.xml.stylesheet.CRC32=49aa68b0@2.82 9 | -------------------------------------------------------------------------------- /WordProcessor/nbproject/project.properties: -------------------------------------------------------------------------------- 1 | javac.source=11 2 | javac.compilerargs=-Xlint -Xlint:-serial 3 | license.file=../LICENSE 4 | nbm.homepage=https://www.joeffice.com 5 | nbm.module.author=Japplis 6 | -------------------------------------------------------------------------------- /WordProcessor/nbproject/suite.properties: -------------------------------------------------------------------------------- 1 | suite.dir=${basedir}/.. 2 | -------------------------------------------------------------------------------- /WordProcessor/src/org/joeffice/wordprocessor/Bundle.properties: -------------------------------------------------------------------------------- 1 | OpenIDE-Module-Display-Category=Office 2 | OpenIDE-Module-Long-Description=\ 3 | This modules allows to open, edit and save word processing documents.\n\ 4 | Support format is docx (Microsoft Word) 5 | OpenIDE-Module-Name=Word Processor 6 | OpenIDE-Module-Short-Description=The word processor 7 | -------------------------------------------------------------------------------- /WordProcessor/src/org/joeffice/wordprocessor/DocxDescription.html: -------------------------------------------------------------------------------- 1 | 2 | Word Document 3 | -------------------------------------------------------------------------------- /WordProcessor/src/org/joeffice/wordprocessor/DocxTemplate.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/WordProcessor/src/org/joeffice/wordprocessor/DocxTemplate.docx -------------------------------------------------------------------------------- /WordProcessor/src/org/joeffice/wordprocessor/actions/picture_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/WordProcessor/src/org/joeffice/wordprocessor/actions/picture_add.png -------------------------------------------------------------------------------- /WordProcessor/src/org/joeffice/wordprocessor/actions/picture_add24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/WordProcessor/src/org/joeffice/wordprocessor/actions/picture_add24.png -------------------------------------------------------------------------------- /WordProcessor/src/org/joeffice/wordprocessor/actions/pilcrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/WordProcessor/src/org/joeffice/wordprocessor/actions/pilcrow.png -------------------------------------------------------------------------------- /WordProcessor/src/org/joeffice/wordprocessor/actions/pilcrow24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/WordProcessor/src/org/joeffice/wordprocessor/actions/pilcrow24.png -------------------------------------------------------------------------------- /WordProcessor/src/org/joeffice/wordprocessor/actions/table.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/WordProcessor/src/org/joeffice/wordprocessor/actions/table.png -------------------------------------------------------------------------------- /WordProcessor/src/org/joeffice/wordprocessor/actions/table24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/WordProcessor/src/org/joeffice/wordprocessor/actions/table24.png -------------------------------------------------------------------------------- /WordProcessor/src/org/joeffice/wordprocessor/actions/table_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/WordProcessor/src/org/joeffice/wordprocessor/actions/table_add.png -------------------------------------------------------------------------------- /WordProcessor/src/org/joeffice/wordprocessor/actions/table_add24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/WordProcessor/src/org/joeffice/wordprocessor/actions/table_add24.png -------------------------------------------------------------------------------- /WordProcessor/src/org/joeffice/wordprocessor/actions/table_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/WordProcessor/src/org/joeffice/wordprocessor/actions/table_delete.png -------------------------------------------------------------------------------- /WordProcessor/src/org/joeffice/wordprocessor/actions/table_delete24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/WordProcessor/src/org/joeffice/wordprocessor/actions/table_delete24.png -------------------------------------------------------------------------------- /WordProcessor/src/org/joeffice/wordprocessor/actions/table_row_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/WordProcessor/src/org/joeffice/wordprocessor/actions/table_row_delete.png -------------------------------------------------------------------------------- /WordProcessor/src/org/joeffice/wordprocessor/actions/table_row_delete24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/WordProcessor/src/org/joeffice/wordprocessor/actions/table_row_delete24.png -------------------------------------------------------------------------------- /WordProcessor/src/org/joeffice/wordprocessor/actions/table_row_insert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/WordProcessor/src/org/joeffice/wordprocessor/actions/table_row_insert.png -------------------------------------------------------------------------------- /WordProcessor/src/org/joeffice/wordprocessor/actions/table_row_insert24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/WordProcessor/src/org/joeffice/wordprocessor/actions/table_row_insert24.png -------------------------------------------------------------------------------- /WordProcessor/src/org/joeffice/wordprocessor/app/PixelConverter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Japplis. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.joeffice.wordprocessor.app; 17 | 18 | /** 19 | * Convert pixels to inches and vice versa. 20 | * 21 | * @author Stanislav Lapitsky 22 | */ 23 | public class PixelConverter { 24 | 25 | /** 26 | * Calculate size (pixels) for given size in inches. 27 | * 28 | * @param inchSize size in inches. 29 | * @return 30 | */ 31 | public static int converInchesToPixels(double inchSize) { 32 | return (int) Math.round(inchSize * 72); 33 | } 34 | 35 | /** 36 | * Calculate size (inches) for given size in pixels. 37 | * 38 | * @param pixSize size in pixels. 39 | * @return 40 | */ 41 | public static double converPixelsToInches(int pixSize) { 42 | int factor = (int) Math.pow(10, 5); 43 | double result = ((double) Math.round(((double) pixSize) / 72 * factor)) / factor; 44 | return result; 45 | } 46 | 47 | } 48 | -------------------------------------------------------------------------------- /WordProcessor/src/org/joeffice/wordprocessor/package-info.java: -------------------------------------------------------------------------------- 1 | // FIXME Templates fails due apparently that binary formats are not supported and the result file looks similar but a bit smaller and unzip fails 2 | @TemplateRegistration(folder = "Office", content = "DocxTemplate.docx", displayName = "#LBL_Docx_FORMAT", iconBase = "org/joeffice/wordprocessor/wordprocessor-16.png", position = 100, description = "DocxDescription.html", requireProject = false) 3 | @NbBundle.Messages("LBL_Docx_FORMAT=Word processor") 4 | package org.joeffice.wordprocessor; 5 | 6 | import org.netbeans.api.templates.TemplateRegistration; 7 | import org.openide.util.NbBundle; 8 | -------------------------------------------------------------------------------- /WordProcessor/src/org/joeffice/wordprocessor/wordprocessor-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/WordProcessor/src/org/joeffice/wordprocessor/wordprocessor-16.png -------------------------------------------------------------------------------- /branding/core/core.jar/org/netbeans/core/startup/Bundle.properties: -------------------------------------------------------------------------------- 1 | currentVersion=Joeffice Alpha 2 2 | LBL_splash_window_title=Starting Joeffice 3 | -------------------------------------------------------------------------------- /branding/core/core.jar/org/netbeans/core/startup/frame.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/branding/core/core.jar/org/netbeans/core/startup/frame.gif -------------------------------------------------------------------------------- /branding/core/core.jar/org/netbeans/core/startup/frame32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/branding/core/core.jar/org/netbeans/core/startup/frame32.gif -------------------------------------------------------------------------------- /branding/core/core.jar/org/netbeans/core/startup/frame48.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/branding/core/core.jar/org/netbeans/core/startup/frame48.gif -------------------------------------------------------------------------------- /branding/core/core.jar/org/netbeans/core/startup/logo.deco: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1.0-beta 5 | 6 | 2 7 | C 8 | Gentium Basic-PLAIN-96 9 | %NAME% 10 | 11 | 12 | S,#f48800,#ffe960 13 | 14 | 15 | false 16 | 0 17 | 1 18 | #000000 19 | 20 | 21 | false 22 | 2 23 | 1 24 | #b3000000 25 | 26 | 27 | -------------------------------------------------------------------------------- /branding/core/core.jar/org/netbeans/core/startup/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/branding/core/core.jar/org/netbeans/core/startup/logo.png -------------------------------------------------------------------------------- /branding/core/core.jar/org/netbeans/core/startup/splash.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/japplis/Joeffice/60214ea289eff7817612cd93b5cadc245cf912b8/branding/core/core.jar/org/netbeans/core/startup/splash.gif -------------------------------------------------------------------------------- /branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties: -------------------------------------------------------------------------------- 1 | CTL_MainWindow_Title=Joeffice {0} 2 | CTL_MainWindow_Title_No_Project=Joeffice {0} 3 | -------------------------------------------------------------------------------- /build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Builds the module suite Joeffice. 7 | 8 | 9 | -------------------------------------------------------------------------------- /help.md: -------------------------------------------------------------------------------- 1 | # Joeffice Help 2 | 3 | Please, contribute to this project if you have an idea of documentation this help page should contain. 4 | -------------------------------------------------------------------------------- /nbproject/genfiles.properties: -------------------------------------------------------------------------------- 1 | build.xml.data.CRC32=84291c20 2 | build.xml.script.CRC32=171d3eda 3 | build.xml.stylesheet.CRC32=70ce5c94@2.82 4 | # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. 5 | # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. 6 | nbproject/build-impl.xml.data.CRC32=84291c20 7 | nbproject/build-impl.xml.script.CRC32=c2bf76b7 8 | nbproject/build-impl.xml.stylesheet.CRC32=473dc988@2.82 9 | nbproject/platform.xml.data.CRC32=84291c20 10 | nbproject/platform.xml.script.CRC32=6dcbd131 11 | nbproject/platform.xml.stylesheet.CRC32=ae64f0b6@2.82 12 | -------------------------------------------------------------------------------- /nbproject/platform.properties: -------------------------------------------------------------------------------- 1 | branding.token=joeffice 2 | cluster.path=\ 3 | ${nbplatform.active.dir}/platform 4 | disabled.modules=\ 5 | net.java.html.boot.fx,\ 6 | net.java.html.geo,\ 7 | net.java.html.sound,\ 8 | org.netbeans.api.htmlui,\ 9 | org.netbeans.api.visual,\ 10 | org.netbeans.core.netigso,\ 11 | org.netbeans.core.osgi,\ 12 | org.netbeans.core.output2,\ 13 | org.netbeans.html.ko4j,\ 14 | org.netbeans.html.xhr4j,\ 15 | org.netbeans.libs.felix,\ 16 | org.netbeans.libs.jsr223,\ 17 | org.netbeans.libs.junit4,\ 18 | org.netbeans.libs.junit5,\ 19 | org.netbeans.libs.osgi,\ 20 | org.netbeans.libs.testng,\ 21 | org.netbeans.modules.autoupdate.cli,\ 22 | org.netbeans.modules.autoupdate.services,\ 23 | org.netbeans.modules.autoupdate.ui,\ 24 | org.netbeans.modules.core.kit,\ 25 | org.netbeans.modules.junitlib,\ 26 | org.netbeans.modules.netbinox,\ 27 | org.netbeans.modules.templatesui,\ 28 | org.objectweb.asm,\ 29 | org.objectweb.asm.commons,\ 30 | org.objectweb.asm.tree,\ 31 | org.openide.compat,\ 32 | org.openide.execution.compat8,\ 33 | org.openide.options,\ 34 | org.openide.util.enumerations 35 | nbplatform.active=default 36 | -------------------------------------------------------------------------------- /nbproject/platform.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /nbproject/project.properties: -------------------------------------------------------------------------------- 1 | app.icon=branding/core/core.jar/org/netbeans/core/startup/frame48.gif 2 | app.name=${branding.token} 3 | app.title=Joeffice 4 | app.version=0.8 5 | auxiliary.org-netbeans-modules-apisupport-installer.license-type=apache.v2 6 | auxiliary.org-netbeans-modules-apisupport-installer.os-linux=true 7 | auxiliary.org-netbeans-modules-apisupport-installer.os-macosx=true 8 | auxiliary.org-netbeans-modules-apisupport-installer.os-solaris=false 9 | auxiliary.org-netbeans-modules-apisupport-installer.os-windows=true 10 | auxiliary.org-netbeans-spi-editor-hints-projects.perProjectHintSettingsFile=nbproject/cfg_hints.xml 11 | modules=\ 12 | ${project.org.joeffice.poi}:\ 13 | ${project.org.joeffice.h2}:\ 14 | ${project.org.joeffice.swingx}:\ 15 | ${project.org.joeffice.desktop}:\ 16 | ${project.org.joeffice.javahelp}:\ 17 | ${project.org.joeffice.wordprocessor}:\ 18 | ${project.org.joeffice.spreadsheet}:\ 19 | ${project.org.joeffice.presentation}:\ 20 | ${project.org.joeffice.database}:\ 21 | ${project.org.joeffice.drawing}:\ 22 | ${project.org.joeffice.universalchardet} 23 | project.org.joeffice.database=Database 24 | project.org.joeffice.desktop=Desktop 25 | project.org.joeffice.drawing=Drawing 26 | project.org.joeffice.h2=H2 27 | project.org.joeffice.javahelp=JavaHelp 28 | project.org.joeffice.poi=Apache-POI 29 | project.org.joeffice.presentation=Presentation 30 | project.org.joeffice.spreadsheet=Spreadsheet 31 | project.org.joeffice.swingx=SwingX 32 | project.org.joeffice.universalchardet=JUniversalCharDet 33 | project.org.joeffice.wordprocessor=WordProcessor 34 | 35 | project.license=apache20 36 | project.organization=Japplis 37 | -------------------------------------------------------------------------------- /nbproject/project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | org.netbeans.modules.apisupport.project.suite 4 | 5 | 6 | Joeffice2 7 | 8 | 9 | 10 | --------------------------------------------------------------------------------