B4J Library [ABMaterial]: MashPlugIns

Status
Not open for further replies.

Mashiane

Expert
Licensed User
Hi y'all

You can Dropbox this lib here and its free. Thank you to all the Donators who are keeping this project alive. ;):):D

NB: You will need MashPlugIns.jar, MashPlugIns.xlm and MashPlugInsFiles.jar from the Library folder.

IMPORTANT UPDATE: In ABMApplication, Initialize methods, please include

B4X:
MashPlugIns.Initialize
MashPlugIns.PrepareResources(ABMShared.AppName)
Please however consider this, it takes time to create these plugins and your donation will help with the continuation of these for your ABMaterial WebApps. As a donator, for your minimum donation of $10 you will get the complete source code for all the included components for you to chop and change as you please.

MashBreadCrumbs
MashBlog
MashStats
MashAlerts
MashCarousel (this will be updated as per forum request)
MashSlidingPanels (this is not as useful as I would want yet)
MashProfile
MashCameraPlain
MashWaterBall
MashSubWay (this is a little buggy as labels display outside of the canvas, exploring)
CTNavPills
MashClock
SyncfusionChart
SyncfusionGantt
SyncfusionKhanBan
MashPricingTable
MashChips
MashEmail
MashTable
MashTimeDropper
MashDateDropper
MashTable
MashProjects
MashTasks
MashProduct
MashIssues (see images below)
MashSparkLine (see MashProjects images below)
MashGallery
MashCreditCard
MashRangeSlider
MashSplitFlap
MashBadges
MashDial
MashImage
MashUserStatus
MashRibbon
MashProgress
MashListView
MashButtons
MashCardPanel
MashInfoBox
MashAppStore
MashApplePanel
MashAccordion
MashColorPicker

Things to note

1. The library has been tested with ABMaterial 4.03
2. With MergeLibraries: False on compilation, you will need a couple of things, ByteConvetor, Encryption, jServer, StringUtils and Json
3. The inclusive ...Files.jar can be unzipped to your www folder. This contains all js and css files needed for these components. These are publicly available on the inter-web.
 

Attachments

Last edited:

Mashiane

Expert
Licensed User
After all the stuff is downloaded to your external libraries...

In your page ConnectPage

Add any themes you want to use on the page, here is an example

B4X:
MashPlugIns.AddTheme("redgreen",ABM.COLOR_LIGHTBLUE,"",ABM.COLOR_YELLOW,ABM.INTENSITY_LIGHTEN3)
    MashPlugIns.AddTheme("whitelightblue",ABM.COLOR_WHITE,"",ABM.COLOR_LIGHTBLUE,"")
    MashPlugIns.AddTheme("whitered",ABM.COLOR_WHITE,"",ABM.COLOR_RED,"")
    MashPlugIns.AddTheme("alert","","",ABM.COLOR_LIGHTBLUE,ABM.INTENSITY_LIGHTEN5)
    MashPlugIns.AddTheme("whiteamber","white","","amber","")
    MashPlugIns.AddTheme("whitegreen","white","","green","")
    MashPlugIns.AddTheme("whiteblue","white","","blue","")
    MashPlugIns.AddTheme("whiteorange","white","","orange","")
    MashPlugIns.AddTheme("redorange","red","","orange","")
Create and then add the component at the location RC of choice..., here is an example (this produces the attached projects (see attached image above))

B4X:
projects.Initialize(page,"projects","redgreen")
    'projects.Title = "Projects"
    'projects.SubTitle = ABMShared.LongDateToday
    'add categories
    projects.AddCategory("1","Feasibility Study", ABM.COLOR_ORANGE)
    projects.AddCategory("2","Planning", ABM.COLOR_AMBER)
    projects.addcategory("3","Initialization", ABM.COLOR_BLUE)
    projects.AddCategory("4","Execution", ABM.COLOR_GREEN)
    projects.AddCategory("5","Launch", ABM.COLOR_PURPLE)
    projects.AddCategory("6","Marketing", ABM.COLOR_BROWN)
    projects.AddCategory("7","Development", ABM.COLOR_CYAN)
    'add projects
    projects.AddProject("1","TGIF","2","TGIF INC.")
    projects.AddProject("2","Ask TeenCoach","4","Mayine Foundation")
    projects.AddProject("3","Project.Show","7","SAFIRI")
    projects.AddProject("4", "Bible.Show", "6", "DanNora Business Solutions")
    projects.ZDepth = ABM.ZDEPTH_2   
    'add progress
    projects.AddProgress("1", ABMShared.CreateList(",","5,6,7,9,9,5,3,2,2,4,6,7"))
    projects.AddProgress("2", ABMShared.CreateList(",","6,7,5,6,7,9,9,5,3,2,2,4"))
    projects.AddProgress("3", ABMShared.CreateList(",","2,4,6,7,5,6,7,9,5,6,7,9"))
    projects.AddProgress("4", ABMShared.CreateList(",","9,5,3,2,2,4,6,7,5,6,7,9"))
    projects.SparkLineChartType = projects.EnumSparkLineType.line
    projects.SparkLineSetColor(ABM.COLOR_GREEN,ABM.INTENSITY_DARKEN2)
    'turn off color coding sparklines to the category
    projects.SparkLineColorCode = True
    page.Cell(2,1).AddComponent(projects.ABMComp)
Please holla if there is anything you need help on or require clarity on. The links above detail the example codes to use.

Ta!

PS: Almost forgot, in BuildPage, you might have to include some needed things too for example.

B4X:
MashPlugIns.NeedsIntro(page) ' if your page will use the intro component
    MashPlugIns.NeedsAnimation(page) ' if your page will use animation
    MashPlugIns.NeedsSparkLine(page)
' if your page will use sparklines

This code above basically does page.AddExtraJavaScriptFile and page.AddExtraCssFile for those needed css and js files,

Enjoy...
 

Mashiane

Expert
Licensed User
MashPlugIns 1.04 has been released. Please hola at me should something be broken with this update on your side as I tried to test as much as I could however please test thoroughly for any production environment.

The link in the first post to download still stands, find everything in the Libraries folder and see examples posted here for how everything works.

This version includes these new components as posted during the course of the week...

NB: As soon as I have minified and tested the css and js files, only one Needs... will be necessary

  1. MashBadges
  2. MashDial (NeedsDial)
  3. MashUserStatus
  4. MashRibbon
  5. MashProgress (NeedsProgress)
  6. MashListView
  7. MashButtons
Enjoy and always remember, you can request a custom component to be created by yours truelly.

PS: Remember, you needs to call MashPlugIns.Initialize and MashPlugIns.PrepareResources(ABMShared.appname) some where, whether its in AppStart or ABMApplication_Initialize.
 

Mashiane

Expert
Licensed User
MashPlugIns Built In Themes

MashPlugIns comes with built in themes that you can just reference by using

MashPlugIns.EnumThemes.white_brown, defined as follows.

The first color is the textcolor e.g. white and the second color is the background color e.g. brown. Thus in this case your component will have white text and a brown background.

MashThemes are only applicable to MashComponents ONLY.

B4X:
MashPlugIns.AddTheme("white_amber",ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL,ABM.COLOR_AMBER,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("white_black",ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL,ABM.COLOR_BLACK,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("white_blue",ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL,ABM.COLOR_BLUE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("white_bluegrey",ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL,ABM.COLOR_BLUEGREY,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("white_brown",ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL,ABM.COLOR_BROWN,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("white_cyan",ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL,ABM.COLOR_CYAN,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("white_deeporange",ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL,ABM.COLOR_DEEPORANGE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("white_deeppurple",ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL,ABM.COLOR_DEEPPURPLE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("white_green",ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL,ABM.COLOR_GREEN,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("white_grey",ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL,ABM.COLOR_GREY,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("white_indigo",ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL,ABM.COLOR_INDIGO,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("white_lightblue",ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL,ABM.COLOR_LIGHTBLUE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("white_lightgreen",ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL,ABM.COLOR_LIGHTGREEN,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("white_lime",ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL,ABM.COLOR_LIME,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("white_orange",ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL,ABM.COLOR_ORANGE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("white_pink",ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL,ABM.COLOR_PINK,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("white_purple",ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL,ABM.COLOR_PURPLE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("white_red",ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL,ABM.COLOR_RED,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("white_teal",ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL,ABM.COLOR_TEAL,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("white_transparent",ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL,ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("white_yellow",ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL,ABM.COLOR_YELLOW,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("black_amber",ABM.COLOR_BLACK,ABM.INTENSITY_NORMAL,ABM.COLOR_AMBER,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("black_blue",ABM.COLOR_BLACK,ABM.INTENSITY_NORMAL,ABM.COLOR_BLUE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("black_bluegrey",ABM.COLOR_BLACK,ABM.INTENSITY_NORMAL,ABM.COLOR_BLUEGREY,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("black_brown",ABM.COLOR_BLACK,ABM.INTENSITY_NORMAL,ABM.COLOR_BROWN,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("black_cyan",ABM.COLOR_BLACK,ABM.INTENSITY_NORMAL,ABM.COLOR_CYAN,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("black_deeporange",ABM.COLOR_BLACK,ABM.INTENSITY_NORMAL,ABM.COLOR_DEEPORANGE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("black_deeppurple",ABM.COLOR_BLACK,ABM.INTENSITY_NORMAL,ABM.COLOR_DEEPPURPLE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("black_green",ABM.COLOR_BLACK,ABM.INTENSITY_NORMAL,ABM.COLOR_GREEN,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("black_grey",ABM.COLOR_BLACK,ABM.INTENSITY_NORMAL,ABM.COLOR_GREY,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("black_indigo",ABM.COLOR_BLACK,ABM.INTENSITY_NORMAL,ABM.COLOR_INDIGO,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("black_lightblue",ABM.COLOR_BLACK,ABM.INTENSITY_NORMAL,ABM.COLOR_LIGHTBLUE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("black_lightgreen",ABM.COLOR_BLACK,ABM.INTENSITY_NORMAL,ABM.COLOR_LIGHTGREEN,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("black_lime",ABM.COLOR_BLACK,ABM.INTENSITY_NORMAL,ABM.COLOR_LIME,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("black_orange",ABM.COLOR_BLACK,ABM.INTENSITY_NORMAL,ABM.COLOR_ORANGE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("black_pink",ABM.COLOR_BLACK,ABM.INTENSITY_NORMAL,ABM.COLOR_PINK,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("black_purple",ABM.COLOR_BLACK,ABM.INTENSITY_NORMAL,ABM.COLOR_PURPLE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("black_red",ABM.COLOR_BLACK,ABM.INTENSITY_NORMAL,ABM.COLOR_RED,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("black_teal",ABM.COLOR_BLACK,ABM.INTENSITY_NORMAL,ABM.COLOR_TEAL,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("black_transparent",ABM.COLOR_BLACK,ABM.INTENSITY_NORMAL,ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("black_white",ABM.COLOR_BLACK,ABM.INTENSITY_NORMAL,ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("black_yellow",ABM.COLOR_BLACK,ABM.INTENSITY_NORMAL,ABM.COLOR_YELLOW,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("amber_white",ABM.COLOR_AMBER,ABM.INTENSITY_NORMAL,ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("amber_black",ABM.COLOR_AMBER,ABM.INTENSITY_NORMAL,ABM.COLOR_BLACK,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("blue_white",ABM.COLOR_BLUE,ABM.INTENSITY_NORMAL,ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("bluegrey_white",ABM.COLOR_BLUEGREY,ABM.INTENSITY_NORMAL,ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("brown_white",ABM.COLOR_BROWN,ABM.INTENSITY_NORMAL,ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("cyan_white",ABM.COLOR_CYAN,ABM.INTENSITY_NORMAL,ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("deeporange_white",ABM.COLOR_DEEPORANGE,ABM.INTENSITY_NORMAL,ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("deeppurple_white",ABM.COLOR_DEEPPURPLE,ABM.INTENSITY_NORMAL,ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("green_white",ABM.COLOR_GREEN,ABM.INTENSITY_NORMAL,ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("grey_white",ABM.COLOR_GREY,ABM.INTENSITY_NORMAL,ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("grey_black",ABM.COLOR_GREY,ABM.INTENSITY_NORMAL,ABM.COLOR_BLACK,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("black_grey",ABM.COLOR_BLACK,ABM.INTENSITY_NORMAL,ABM.COLOR_GREY,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("indigo_white",ABM.COLOR_INDIGO,ABM.INTENSITY_NORMAL,ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("lightblue_white",ABM.COLOR_LIGHTBLUE,ABM.INTENSITY_NORMAL,ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("lightgreen_white",ABM.COLOR_LIGHTGREEN,ABM.INTENSITY_NORMAL,ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("lime_white",ABM.COLOR_LIME,ABM.INTENSITY_NORMAL,ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("orange_white",ABM.COLOR_ORANGE,ABM.INTENSITY_NORMAL,ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("pink_white",ABM.COLOR_PINK,ABM.INTENSITY_NORMAL,ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("purple_white",ABM.COLOR_PURPLE,ABM.INTENSITY_NORMAL,ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("red_white",ABM.COLOR_RED,ABM.INTENSITY_NORMAL,ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("teal_white",ABM.COLOR_TEAL,ABM.INTENSITY_NORMAL,ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("white_black",ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL,ABM.COLOR_BLACK,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("yellow_white",ABM.COLOR_YELLOW,ABM.INTENSITY_NORMAL,ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("yellow_black",ABM.COLOR_YELLOW,ABM.INTENSITY_NORMAL,ABM.COLOR_BLACK,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("transparent_amber",ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL,ABM.COLOR_AMBER,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("transparent_blue",ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL,ABM.COLOR_BLUE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("transparent_bluegrey",ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL,ABM.COLOR_BLUEGREY,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("transparent_brown",ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL,ABM.COLOR_BROWN,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("transparent_cyan",ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL,ABM.COLOR_CYAN,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("transparent_deeporange",ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL,ABM.COLOR_DEEPORANGE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("transparent_deeppurple",ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL,ABM.COLOR_DEEPPURPLE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("transparent_green",ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL,ABM.COLOR_GREEN,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("transparent_grey",ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL,ABM.COLOR_GREY,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("transparent_indigo",ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL,ABM.COLOR_INDIGO,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("transparent_lightblue",ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL,ABM.COLOR_LIGHTBLUE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("transparent_lightgreen",ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL,ABM.COLOR_LIGHTGREEN,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("transparent_lime",ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL,ABM.COLOR_LIME,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("transparent_orange",ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL,ABM.COLOR_ORANGE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("transparent_pink",ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL,ABM.COLOR_PINK,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("transparent_purple",ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL,ABM.COLOR_PURPLE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("transparent_red",ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL,ABM.COLOR_RED,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("transparent_teal",ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL,ABM.COLOR_TEAL,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("transparent_transparent",ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL,ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("transparent_white",ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL,ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("transparent_yellow",ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL,ABM.COLOR_YELLOW,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("amber_transparent",ABM.COLOR_AMBER,ABM.INTENSITY_NORMAL,ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("blue_transparent",ABM.COLOR_BLUE,ABM.INTENSITY_NORMAL,ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("bluegrey_transparent",ABM.COLOR_BLUEGREY,ABM.INTENSITY_NORMAL,ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("brown_transparent",ABM.COLOR_BROWN,ABM.INTENSITY_NORMAL,ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("cyan_transparent",ABM.COLOR_CYAN,ABM.INTENSITY_NORMAL,ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("deeporange_transparent",ABM.COLOR_DEEPORANGE,ABM.INTENSITY_NORMAL,ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("deeppurple_transparent",ABM.COLOR_DEEPPURPLE,ABM.INTENSITY_NORMAL,ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("green_transparent",ABM.COLOR_GREEN,ABM.INTENSITY_NORMAL,ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("grey_transparent",ABM.COLOR_GREY,ABM.INTENSITY_NORMAL,ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("indigo_transparent",ABM.COLOR_INDIGO,ABM.INTENSITY_NORMAL,ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("lightblue_transparent",ABM.COLOR_LIGHTBLUE,ABM.INTENSITY_NORMAL,ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("lightgreen_transparent",ABM.COLOR_LIGHTGREEN,ABM.INTENSITY_NORMAL,ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("lime_transparent",ABM.COLOR_LIME,ABM.INTENSITY_NORMAL,ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("orange_transparent",ABM.COLOR_ORANGE,ABM.INTENSITY_NORMAL,ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("pink_transparent",ABM.COLOR_PINK,ABM.INTENSITY_NORMAL,ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("purple_transparent",ABM.COLOR_PURPLE,ABM.INTENSITY_NORMAL,ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("red_transparent",ABM.COLOR_RED,ABM.INTENSITY_NORMAL,ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("teal_transparent",ABM.COLOR_TEAL,ABM.INTENSITY_NORMAL,ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("transparent",ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL,ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("white_transparent",ABM.COLOR_WHITE,ABM.INTENSITY_NORMAL,ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL)
    MashPlugIns.AddTheme("yellow_transparent",ABM.COLOR_YELLOW,ABM.INTENSITY_NORMAL,ABM.COLOR_TRANSPARENT,ABM.INTENSITY_NORMAL)
 

alwaysbusy

Expert
Licensed User
MashPlugins is in clear VIOLATION of the ABMaterial LICENSE AGREEMENT!

I was very interested in how MashPlugins tackled the grid problem. To my surprise, after investigating the source code (which I was given by Mashiane a couple of weeks ago in view of a cooperation to build a designer), the source code looked almost exactly like my original ABM Java code! Up to the naming of my protected variables, which cannot be accessed by 'normal' use of the ABM library.

So this can only mean one thing: Mashiane has Reverse Engineered the ABM Library, while the license agreement clearly states:

2. YOU MAY NOT COPY, SUB-LICENSE, REVERSE ENGINEER, DECOMPILE, DISASSEMBLE, OR MODIFY THIS LIBRARY IN ANY WAY.
Just one of the many examples:

Original ABM library Java:
B4X:
protected String GridBaseId="R"; // cannot be seen from outside the library, unless decompiled!

public RowDef AddRow(int numberOfCells, boolean centerInPage, String rowThemeName, String cellThemeName) {
       RowDef rowDef = new RowDef();
       rowDef.NumberOfrows = 1;
       rowDef.CenterInPage = centerInPage;
       rowDef.MarginTopPx=0;
       rowDef.MarginBottomPx=20;
       rowDef.ThemeName = rowThemeName;
       switch (numberOfCells) {
       case 1:
       case 2:
       case 3:
       case 4:
       case 6:
       case 12:
           int sizeCells = 12/numberOfCells;
           rowDef.AddCellsOS(numberOfCells, 0, 0, 0, sizeCells, sizeCells, sizeCells, cellThemeName);
           break;
       default:
           BA.Log("numberOfCells can only be: 1, 2, 3, 4, 6 or 12");
       }
       Rows.add(rowDef);
       return rowDef;
}
B4J Mash Plugins:
B4X:
Private GridBaseId As String = "R"

Sub AddRow(numberOfCells As Int, centerInPage As Boolean, rowThemeName As String, cellThemeName As String) As MashGridRow
   Dim grdRow As MashGridRow
   grdRow.Initialize
   grdRow.NumberOfrows = 1
   grdRow.CenterInPage = centerInPage
   grdRow.MarginTopPx = 0
   grdRow.MarginBottomPx = 20
   grdRow.ThemeName = rowThemeName
   Select Case numberOfCells
       Case 1:
       Case 2:
       Case 3:
       Case 4:
       Case 6:
       Case 12:
           Dim cnt1 As Int = 12 / numberOfCells
           grdRow.AddCellsOS(numberOfCells, 0, 0, 0, cnt1, cnt1, cnt1, cellThemeName)
       Case 5:
       Case 7:
       Case 8:
       Case 9:
       Case 10:
       Case 11:
       Case Else
           Log("numberOfCells can only be: 1, 2, 3, 4, 6 or 12")
   End Select
   Rows.add(grdRow)
   Return grdRow
End Sub
So MashPlugins is the result of THEFT and anyone using it is considered doing the same.

Consequences of this unfair use of ABMaterial results in the following:

1. Anyone using MashPlugins is immediately revoked of its ABM Donator Rights
2. ABM 4.25+ can break any program using MashPlugins and make it unusable in the future.
3. ABM 4.25+ WebApps using MashPlugins will show a message to the user that is using the illegal MashPlugin library

@Mashiane I am clearly VERY DISSAPOINTED! Really Mashiane, how could you? I gave you in confidence the un-obfuscated version of my development version of ABM but I never expected this. It is a slap in the face for the tens of thousands of hours I've put in ABM. I should've been suspicious when in our cooperation project for the designer, you quickly mentioned stuff like 'we could parse and reverse engineer', on which I immediately replied 'I don't like those terms'. I am probably to naive and some people just don't have the imagination to create something original I guess...
 
Last edited:

Mashiane

Expert
Licensed User
Dear MashPlugIn Users:

I kindly request that you please pm me for any questions regarding these components and not post anything here. Perhaps the code will help you in creating your own components and in moving your ABMaterial dreams forward.

I am very sorry for betraying your trust and especially @alwaysbusy due to wanting to have complete working components for the Grid/Row/Cell to complete the Ribbon for my ABMaterial Project. I need to forgive myself also for this as I have ruined a good thing here.

Good luck.
 

Attachments

Status
Not open for further replies.
Top