Mosaic matrix

From Rosetta Code
Revision as of 10:36, 18 February 2022 by CalmoSoft (talk | contribs) (Created page with "{Draft task}} ;Task: <br>Show the Mosaic Matrix. <br>[http://keptarhely.eu/view.php?file=20220218v00xf1rfh.jpeg Mosaic Matrix] <br> =={{header|Ring}}== <lang ring> # Project...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

{Draft task}}

Task


Show the Mosaic Matrix.
Mosaic Matrix

Ring

<lang ring>

  1. Project : Identity Matrix
  2. Date  : 2022/16/02
  3. Author  : Gal Zsolt (~ CalmoSoft ~)
  4. Email  : <calmosoft@gmail.com>

load "stdlib.ring" load "guilib.ring"

size = 8 C_Spacing = 1

C_ButtonBlueStyle = 'border-radius:6px;color:black; background-color: blue' C_ButtonOrangeStyle = 'border-radius:6px;color:black; background-color: orange'

Button = newlist(size,size) LayoutButtonRow = list(size)

app = new qApp {

     win = new qWidget() {

setWindowTitle('Identity Matrix') move(500,100) reSize(600,600) winheight = win.height() fontSize = 18 + (winheight / 100)

	    LayoutButtonMain = new QVBoxLayout()			

LayoutButtonMain.setSpacing(C_Spacing) LayoutButtonMain.setContentsmargins(0,0,0,0)

for Row = 1 to size LayoutButtonRow[Row] = new QHBoxLayout() { setSpacing(C_Spacing) setContentsmargins(0,0,0,0) }

        	 for Col = 1 to size

Button[Row][Col] = new QPushButton(win) {

                                       setSizePolicy(1,1)                                                

}

LayoutButtonRow[Row].AddWidget(Button[Row][Col]) next LayoutButtonMain.AddLayout(LayoutButtonRow[Row]) next

             LayoutDataRow1 = new QHBoxLayout() { setSpacing(C_Spacing) setContentsMargins(0,0,0,0) }
             LayoutButtonMain.AddLayout(LayoutDataRow1)
             setLayout(LayoutButtonMain)
             show()
  }
  pBegin()
  exec()
  }

func pBegin()

    for Row = 1 to size
        for Col = 1 to size 
            if (Row%2 = 1 and Col%2 = 1) or (Row%2 = 0 and Col%2 = 0)
               Button[Row][Col].setStyleSheet(C_ButtonOrangeStyle)
               Button[Row][Col].settext("1")
            ok

next

    next

</lang>

Output:
<br>[http://keptarhely.eu/view.php?file=20220218v00xf1rfh.jpeg Mosaic Matrix]