LiquidMenu issues with button.h

This is not a double post as this is descriptive to the LiquidMenu library involving a issue with the examples which use the button library, and includes a button header file in the examples that use said file.
I am assuming you must already have the button library installed before using this menu library, and are suppose to replace the button header file with the one provided in the example. It does not state this in the readme what if anything should be down with the button header file in the examples which include it.
After fixing previous flaws with the installation, and properly configuring the lcd to I2C. I wanted to test the focus example to get a better understanding of what focus does exactly. I moved the button.h to the button library, properly configured the code for the i2c display, hit compile, error… with button.cpp. Shit, there wasn’t one included with the menu library so I don’t know what to do about the errors, or what would be the best replacement for the check() function in the focus example of liquidmenu. Does anyone know what button library is expected to be installed which has the proper .cpp file? I am including the errors, and sketch that supplied such errors.

"C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\mega" "-IC:\\Users\\Bob\\Documents\\Arduino\\libraries\\LiquidCrystal_I2C" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-IC:\\Users\\Bob\\Documents\\Arduino\\libraries\\LiquidMenu-1.4.1\\src" "-IC:\\Users\\Bob\\Documents\\Arduino\\libraries\\Button" "C:\\Users\\Bob\\Documents\\Arduino\\libraries\\Button\\Button.cpp" -o "C:\\Users\\Bob\\AppData\\Local\\Temp\\arduino_build_360648\\libraries\\Button\\Button.cpp.o"
In file included from C:\Users\Bob\Documents\Arduino\libraries\Button\Button.cpp:21:0:

C:\Users\Bob\Documents\Arduino\libraries\Button\Button.h:5:18: error: expected ')' before 'pin'

  Button (uint8_t pin, bool pullup = false, uint16_t debounceDelay = 50)

                  ^

C:\Users\Bob\Documents\Arduino\libraries\Button\Button.cpp:93:1: error: expected '}' at end of input

 }

 ^

C:\Users\Bob\Documents\Arduino\libraries\Button\Button.cpp:93:1: error: expected unqualified-id at end of input

Using library LiquidCrystal_I2C at version 1.1.2 in folder: C:\Users\Bob\Documents\Arduino\libraries\LiquidCrystal_I2C
Using library Wire at version 1.0 in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire
Using library LiquidMenu-1.4.1 at version 1.4.0 in folder: C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1
Using library Button in folder: C:\Users\Bob\Documents\Arduino\libraries\Button (legacy)
exit status 1
Error compiling for board Arduino/Genuino Mega or Mega 2560.
/*
||
|| @file Button.cpp
|| @version 1.6
|| @author Alexander Brevig
|| @contact alexanderbrevig@gmail.com
||
|| @description
|| | Provide an easy way of making buttons
|| #
||
|| @license
|| | Copyright (c) 2009 Alexander Brevig. All rights reserved.
|| | This code is subject to AlphaLicence.txt
|| | alphabeta.alexanderbrevig.com/AlphaLicense.txt
|| #
||
*/

//include the class definition
#include "Button.h"

/*
|| <<constructor>>
|| @parameter buttonPin sets the pin that this switch is connected to
|| @parameter buttonMode indicates PULLUP or PULLDOWN resistor
*/
Button::Button(uint8_t buttonPin, uint8_t buttonMode){
	this->pin=buttonPin;
    pinMode(pin,INPUT);
	buttonMode==PULLDOWN ? pulldown() : pullup();
    state = 0;
    bitWrite(state,CURRENT,!mode);
}

/*
|| Set pin HIGH as default
*/
void Button::pullup(void){
	mode=PULLUP;
	digitalWrite(pin,HIGH);
}

/*
|| Set pin LOW as default
*/
void Button::pulldown(void){
	mode=PULLDOWN;
	//digitalWrite(pin,LOW);
}

/*
|| Return the bitWrite(state,CURRENT, of the switch
*/
bool Button::isPressed(void){
    bitWrite(state,PREVIOUS,bitRead(state,CURRENT));
    if (digitalRead(pin) == mode){
        bitWrite(state,CURRENT,false);
    } else {
        bitWrite(state,CURRENT,true);
    }
    if (bitRead(state,CURRENT) != bitRead(state,PREVIOUS)){
        bitWrite(state,CHANGED,true);
    }else{
        bitWrite(state,CHANGED,false);
    }
	return bitRead(state,CURRENT);
}

/*
|| Return true if the button has been pressed
*/
bool Button::wasPressed(void){
    if (bitRead(state,CURRENT)){
        return true;
    } else {
        return false;
    }
}

/*
|| Return true if state has been changed
*/
bool Button::stateChanged(void){
    return bitRead(state,CHANGED);
}

/*
|| Return true if the button is pressed, and was not pressed before
*/
bool Button::uniquePress(void){
    return (isPressed() && stateChanged());
}

https://playground.arduino.cc/Code/Button/

I downloaded from here.

/*
 * LiquidMenu library - focus_menu.ino
 *
 * This example demonstrates how to customize the focus indicator.
 *
 * The default focus indicator is an arrow symbol shown on the right of the
 * focused line. The focus indicator position can be changed per line to be
 * shown on the right, on the left or in a specified position. The focus
 * symbol can also be changed, per position.
 * In this example a custom focus symbol is defined (uint8_t rFocus[8]). Then
 * it is configured to be the right focus indicator symbol using the
 * bool LiquidMenu::set_focusSymbol(Position position, uint8_t symbol[8]) method.
 * The focus position for the different lines is configured using the
 * bool set_focusPosition(Position position, uint8_t column = 0, uint8_t row = 0)
 * method. If the "position" is "Position::CUSTOM", the column and row parameters
 * must be specified. The focus position can be specified for a single line, for
 * the whole screen, for the whole menu or for the whole menu system using the
 * respective objects.
 *
 * The circuit:
 * https://github.com/VasilKalchev/LiquidMenu/blob/master/examples/focus_menu/F_focus_menu.png
 * - LCD RS pin to Arduino pin 12
 * - LCD E pin to Arduino pin 11
 * - LCD D4 pin to Arduino pin 5
 * - LCD D5 pin to Arduino pin 4
 * - LCD D6 pin to Arduino pin 3
 * - LCD D7 pin to Arduino pin 2
 * - LCD R/W pin to ground
 * - LCD VSS pin to ground
 * - LCD VDD pin to 5V
 * - 10k ohm potentiometer: ends to 5V and ground, wiper to LCD V0
 * - 150 ohm resistor from 5V to LCD Anode
 * - LCD Cathode to ground
 * - ----
 * - Button (left) to Arduino pin A0 and ground
 * - Button (right) to Arduino pin 7 and ground
 * - Button (enter) to Arduino pin 10 and ground
 *
 * Created July 24, 2016
 * by Vasil Kalchev
 *
 * https://github.com/VasilKalchev/LiquidMenu
 * http://omerk.github.io/lcdchargen/ - for creating custom indicator symbol
 *
 */
#include <LiquidCrystal_I2C.h>
#include <LiquidMenu.h>
#include "Button.h"

LiquidCrystal_I2C lcd(0x27, 20, 4);

// Button objects instantiation
const bool pullup = true;
Button left(10, pullup);
Button right(11, pullup);
Button enter(12, pullup);

LiquidLine welcome_line1(1, 0, "LiquidMenu ", LIQUIDMENU_VERSION);
LiquidLine welcome_line2(1, 1, "Focus example");
LiquidScreen welcome_screen(welcome_line1, welcome_line2);

LiquidLine leftFocus_line(1, 0, "Left focus");
LiquidLine rightFocus_line(1, 1, "Right focus");
LiquidScreen leftright_screen(leftFocus_line, rightFocus_line);

LiquidLine customFocus_line(1, 0, "Custom focus");
LiquidScreen customFocus_screen(customFocus_line);

LiquidLine leftF1_line(6, 0, "Left");
LiquidLine leftF2_line(6, 1, "focus");
LiquidScreen leftF12_screen(leftF1_line, leftF2_line);

LiquidMenu menu(lcd);

// Checks all the buttons.
void buttonsCheck() {
	if (right.check() == LOW) {
		menu.next_screen();
	}
	if (left.check() == LOW) {
		menu.previous_screen();
	}
	if (enter.check() == LOW) {
		// Switches focus to the next line.
		menu.switch_focus();
	}
}

// Indicator symbol definition, it will change the default symbol for the right focus.
// http://omerk.github.io/lcdchargen/
uint8_t rFocus[8] = {
	0b00000,
	0b00000,
	0b00100,
	0b01110,
	0b00100,
	0b00000,
	0b00000,
	0b00000
};

// Blank function, it is attached to the lines so that they become focusable.
void func() {
	return;
}

void setup() {
	Serial.begin(250000);

	lcd.begin(16, 2);

	// Changes the right focus symbol.
	menu.set_focusSymbol(Position::RIGHT, rFocus);

	// Sets the focus position for this line to be on the left.
	leftFocus_line.set_focusPosition(Position::LEFT);
	rightFocus_line.set_focusPosition(Position::RIGHT);
	// 'CUSTOM' focus position needs column and row parameters.
	customFocus_line.set_focusPosition(Position::CUSTOM, 15, 0);
	// The focus position can be changed for the whole screen or
	// menu at once. 'CUSTOM' position cannot be set because it
	// needs individual coordinates.
	leftF12_screen.set_focusPosition(Position::LEFT);

	// Attaching a function to a line makes the line focusable.
	leftFocus_line.attach_function(1, func);
	rightFocus_line.attach_function(1, func);
	customFocus_line.attach_function(1, func);
	leftF1_line.attach_function(1, func);
	leftF2_line.attach_function(1, func);

	menu.add_screen(welcome_screen);
	menu.add_screen(leftright_screen);
	menu.add_screen(customFocus_screen);
	menu.add_screen(leftright_screen);
	menu.add_screen(leftF12_screen);

	menu.update();
}

void loop() {
	buttonsCheck();
}

that’s the sketch the provided the above error’s.
Again my question is can this be fixed, is there a different button library I was suppose to use, or what’s the best replacement for check()

To get this to work I replaced the button library with JC’s github button library, editted the header file to arduino.h from wprogram.h, and changed check() to read(). There are debounce issues I believe which need to be adjusted due to more then one button press being registered, and the last two parameters are set to false. With both at default, the buttons do nothing.

/*
 * LiquidMenu library - focus_menu.ino
 *
 * This example demonstrates how to customize the focus indicator.
 *
 * The default focus indicator is an arrow symbol shown on the right of the
 * focused line. The focus indicator position can be changed per line to be
 * shown on the right, on the left or in a specified position. The focus
 * symbol can also be changed, per position.
 * In this example a custom focus symbol is defined (uint8_t rFocus[8]). Then
 * it is configured to be the right focus indicator symbol using the
 * bool LiquidMenu::set_focusSymbol(Position position, uint8_t symbol[8]) method.
 * The focus position for the different lines is configured using the
 * bool set_focusPosition(Position position, uint8_t column = 0, uint8_t row = 0)
 * method. If the "position" is "Position::CUSTOM", the column and row parameters
 * must be specified. The focus position can be specified for a single line, for
 * the whole screen, for the whole menu or for the whole menu system using the
 * respective objects.
 *
 * The circuit:
 * https://github.com/VasilKalchev/LiquidMenu/blob/master/examples/focus_menu/F_focus_menu.png
 * - LCD RS pin to Arduino pin 12
 * - LCD E pin to Arduino pin 11
 * - LCD D4 pin to Arduino pin 5
 * - LCD D5 pin to Arduino pin 4
 * - LCD D6 pin to Arduino pin 3
 * - LCD D7 pin to Arduino pin 2
 * - LCD R/W pin to ground
 * - LCD VSS pin to ground
 * - LCD VDD pin to 5V
 * - 10k ohm potentiometer: ends to 5V and ground, wiper to LCD V0
 * - 150 ohm resistor from 5V to LCD Anode
 * - LCD Cathode to ground
 * - ----
 * - Button (left) to Arduino pin A0 and ground
 * - Button (right) to Arduino pin 7 and ground
 * - Button (enter) to Arduino pin 10 and ground
 *
 * Created July 24, 2016
 * by Vasil Kalchev
 *
 * https://github.com/VasilKalchev/LiquidMenu
 * http://omerk.github.io/lcdchargen/ - for creating custom indicator symbol
 *
 */
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <LiquidMenu.h>
#include "JC_Button.h"

LiquidCrystal_I2C lcd(0x27, 20, 4);

// Button objects instantiation
Button left(10,25,false,false);
Button right(11,25,false,false);
Button enter(12,25,false,false);

LiquidLine welcome_line1(1, 0, "LiquidMenu ", LIQUIDMENU_VERSION);
LiquidLine welcome_line2(1, 1, "Focus example");
LiquidScreen welcome_screen(welcome_line1, welcome_line2);

LiquidLine leftFocus_line(1, 0, "Left focus");
LiquidLine rightFocus_line(1, 1, "Right focus");
LiquidScreen leftright_screen(leftFocus_line, rightFocus_line);

LiquidLine customFocus_line(1, 0, "Custom focus");
LiquidScreen customFocus_screen(customFocus_line);

LiquidLine leftF1_line(6, 0, "Left");
LiquidLine leftF2_line(6, 1, "focus");
LiquidScreen leftF12_screen(leftF1_line, leftF2_line);

LiquidMenu menu(lcd);

// Checks all the buttons.
void buttonsCheck() {
	if (right.read() == 1) {
		menu.next_screen();
	}
	if (left.read() == 1) {
		menu.previous_screen();
	}
	if (enter.read() == 1) {
		// Switches focus to the next line.
		menu.switch_focus();
	}
}

// Indicator symbol definition, it will change the default symbol for the right focus.
// http://omerk.github.io/lcdchargen/
uint8_t rFocus[8] = {
	0b00000,
	0b00000,
	0b00100,
	0b01110,
	0b00100,
	0b00000,
	0b00000,
	0b00000
};

// Blank function, it is attached to the lines so that they become focusable.
void func() {
	return;
}

void setup() {
	Serial.begin(250000);

	lcd.init();
  lcd.backlight();

	// Changes the right focus symbol.
	menu.set_focusSymbol(Position::RIGHT, rFocus);

	// Sets the focus position for this line to be on the left.
	leftFocus_line.set_focusPosition(Position::LEFT);
	rightFocus_line.set_focusPosition(Position::RIGHT);
	// 'CUSTOM' focus position needs column and row parameters.
	customFocus_line.set_focusPosition(Position::CUSTOM, 15, 1);
	// The focus position can be changed for the whole screen or
	// menu at once. 'CUSTOM' position cannot be set because it
	// needs individual coordinates.
	leftF12_screen.set_focusPosition(Position::LEFT);

	// Attaching a function to a line makes the line focusable.
	leftFocus_line.attach_function(0, func);
	rightFocus_line.attach_function(0, func);
	customFocus_line.attach_function(0, func);
	leftF1_line.attach_function(0, func);
	leftF2_line.attach_function(0, func);

	menu.add_screen(welcome_screen);
	menu.add_screen(leftright_screen);
	menu.add_screen(customFocus_screen);
	menu.add_screen(leftright_screen);
	menu.add_screen(leftF12_screen);

	menu.update();
}

void loop() {
	buttonsCheck();
}

You can see the changes made in order to get the screen to display somewhat properly so far besides the possible debounce issue.

For anyone else who hasn't followed keyboardcowboy's previous two threads about them struggling with this example sketch, it's about the "F_focus_menu" example sketch of version 1.4.1 of this library:

keyboardcowboy:
a issue with the examples which use the button library, and includes a button header file in the examples that use said file.
I am assuming you must already have the button library installed before using this menu library, and are suppose to replace the button header file with the one provided in the example. It does not state this in the readme what if anything should be down with the button header file in the examples which include it.

You assume wrong. Did you even bother to try to compile the sketch exactly as it was? You're probably used to sketches consisting of a single .ino file, but it's possible to add other files to sketches, including .h files. That's right, .h files are not only for libraries. The Button.h file is part of the sketch. You're just supposed to leave it right where it is and compile the sketch just like that. No need to install and modify some random Button library, which is why there were no instructions about anything like that.

In file included from C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1\examples\F_focus_menu\F_focus_menu.ino:48:0:

C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1\src/LiquidMenu.h:55:97: note: #pragma message: LiquidMenu: Configured for I2C. Edit 'LiquidMenu_config.h' file to change it.

 #pragma message ("LiquidMenu: Configured for I2C. Edit 'LiquidMenu_config.h' file to change it.")

                                                                                                 ^

F_focus_menu:83:20: error: no matching function for call to 'LiquidMenu::LiquidMenu(LiquidCrystal&)'

 LiquidMenu menu(lcd);

                    ^

In file included from C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1\examples\F_focus_menu\F_focus_menu.ino:48:0:

C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1\src/LiquidMenu.h:784:3: note: candidate: LiquidMenu::LiquidMenu(LiquidCrystal_I2C&, LiquidScreen&, LiquidScreen&, LiquidScreen&, LiquidScreen&, uint8_t)

   LiquidMenu(DisplayClass &liquidCrystal, LiquidScreen &liquidScreen1,

   ^

C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1\src/LiquidMenu.h:784:3: note:   candidate expects 6 arguments, 1 provided

C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1\src/LiquidMenu.h:770:3: note: candidate: LiquidMenu::LiquidMenu(LiquidCrystal_I2C&, LiquidScreen&, LiquidScreen&, LiquidScreen&, uint8_t)

   LiquidMenu(DisplayClass &liquidCrystal, LiquidScreen &liquidScreen1,

   ^

C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1\src/LiquidMenu.h:770:3: note:   candidate expects 5 arguments, 1 provided

C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1\src/LiquidMenu.h:758:3: note: candidate: LiquidMenu::LiquidMenu(LiquidCrystal_I2C&, LiquidScreen&, LiquidScreen&, uint8_t)

   LiquidMenu(DisplayClass &liquidCrystal, LiquidScreen &liquidScreen1,

   ^

C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1\src/LiquidMenu.h:758:3: note:   candidate expects 4 arguments, 1 provided

C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1\src/LiquidMenu.h:747:3: note: candidate: LiquidMenu::LiquidMenu(LiquidCrystal_I2C&, LiquidScreen&, uint8_t)

   LiquidMenu(DisplayClass &liquidCrystal, LiquidScreen &liquidScreen,

   ^

C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1\src/LiquidMenu.h:747:3: note:   candidate expects 3 arguments, 1 provided

C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1\src/LiquidMenu.h:738:3: note: candidate: LiquidMenu::LiquidMenu(LiquidCrystal_I2C&, uint8_t)

   LiquidMenu(DisplayClass &liquidCrystal, uint8_t startingScreen = 1);

   ^

C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1\src/LiquidMenu.h:738:3: note:   no known conversion for argument 1 from 'LiquidCrystal' to 'LiquidCrystal_I2C&'

C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1\src/LiquidMenu.h:722:7: note: candidate: constexpr LiquidMenu::LiquidMenu(const LiquidMenu&)

 class LiquidMenu {

       ^

C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1\src/LiquidMenu.h:722:7: note:   no known conversion for argument 1 from 'LiquidCrystal' to 'const LiquidMenu&'

C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1\src/LiquidMenu.h:722:7: note: candidate: constexpr LiquidMenu::LiquidMenu(LiquidMenu&&)

C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1\src/LiquidMenu.h:722:7: note:   no known conversion for argument 1 from 'LiquidCrystal' to 'LiquidMenu&&'

Using library LiquidCrystal at version 1.0.7 in folder: C:\Program Files (x86)\Arduino\libraries\LiquidCrystal 
Using library LiquidMenu-1.4.1 at version 1.4.0 in folder: C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1 
Using library LiquidCrystal_I2C at version 1.1.2 in folder: C:\Users\Bob\Documents\Arduino\libraries\LiquidCrystal_I2C 
Using library Wire at version 1.0 in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire 
exit status 1
no matching function for call to 'LiquidMenu::LiquidMenu(LiquidCrystal&)'

Thats the output from the focus menu example from liquidmenu
That's unfortunate that's not in the readme about the header file should be included with the .ino file in the program's folder. I think it would help other's, that shot over my head after cleaning where the libraries were installed after ignorance to the correct location at the time of install. It makes sense and I will give it a go.

In file included from C:\Users\Bob\Documents\Arduino\Aug9thFocusMenu\Aug9thFocusMenu.ino:3:0:

C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1\src/LiquidMenu.h:55:97: note: #pragma message: LiquidMenu: Configured for I2C. Edit 'LiquidMenu_config.h' file to change it.

 #pragma message ("LiquidMenu: Configured for I2C. Edit 'LiquidMenu_config.h' file to change it.")

 void LiquidCrystal_I2C::begin(uint8_t cols, uint8_t lines, uint8_t dotsize) {

                                       ^

C:\Users\Bob\Documents\Arduino\libraries\LiquidCrystal_I2C\LiquidCrystal_I2C.cpp:307:39: warning: unused parameter 'cmdDelay' [-Wunused-parameter]

 void LiquidCrystal_I2C::setDelay (int cmdDelay,int charDelay) {}

                                       ^

C:\Users\Bob\Documents\Arduino\libraries\LiquidCrystal_I2C\LiquidCrystal_I2C.cpp:307:52: warning: unused parameter 'charDelay' [-Wunused-parameter]

 void LiquidCrystal_I2C::setDelay (int cmdDelay,int charDelay) {}

                                                    ^

C:\Users\Bob\Documents\Arduino\libraries\LiquidCrystal_I2C\LiquidCrystal_I2C.cpp:310:50: warning: unused parameter 'graphtype' [-Wunused-parameter]

 uint8_t LiquidCrystal_I2C::init_bargraph(uint8_t graphtype){return 0;}

                                                  ^

C:\Users\Bob\Documents\Arduino\libraries\LiquidCrystal_I2C\LiquidCrystal_I2C.cpp:311:55: warning: unused parameter 'row' [-Wunused-parameter]

 void LiquidCrystal_I2C::draw_horizontal_graph(uint8_t row, uint8_t column, uint8_t len,  uint8_t pixel_col_end){}

                                                       ^

C:\Users\Bob\Documents\Arduino\libraries\LiquidCrystal_I2C\LiquidCrystal_I2C.cpp:311:68: warning: unused parameter 'column' [-Wunused-parameter]

 void LiquidCrystal_I2C::draw_horizontal_graph(uint8_t row, uint8_t column, uint8_t len,  uint8_t pixel_col_end){}

                                                                    ^

C:\Users\Bob\Documents\Arduino\libraries\LiquidCrystal_I2C\LiquidCrystal_I2C.cpp:311:84: warning: unused parameter 'len' [-Wunused-parameter]

 void LiquidCrystal_I2C::draw_horizontal_graph(uint8_t row, uint8_t column, uint8_t len,  uint8_t pixel_col_end){}

                                                                                    ^

C:\Users\Bob\Documents\Arduino\libraries\LiquidCrystal_I2C\LiquidCrystal_I2C.cpp:311:98: warning: unused parameter 'pixel_col_end' [-Wunused-parameter]

 void LiquidCrystal_I2C::draw_horizontal_graph(uint8_t row, uint8_t column, uint8_t len,  uint8_t pixel_col_end){}

                                                                                                  ^

C:\Users\Bob\Documents\Arduino\libraries\LiquidCrystal_I2C\LiquidCrystal_I2C.cpp:312:53: warning: unused parameter 'row' [-Wunused-parameter]

 void LiquidCrystal_I2C::draw_vertical_graph(uint8_t row, uint8_t column, uint8_t len,  uint8_t pixel_row_end){}

                                                     ^

C:\Users\Bob\Documents\Arduino\libraries\LiquidCrystal_I2C\LiquidCrystal_I2C.cpp:312:66: warning: unused parameter 'column' [-Wunused-parameter]

 void LiquidCrystal_I2C::draw_vertical_graph(uint8_t row, uint8_t column, uint8_t len,  uint8_t pixel_row_end){}

                                                                  ^

C:\Users\Bob\Documents\Arduino\libraries\LiquidCrystal_I2C\LiquidCrystal_I2C.cpp:312:82: warning: unused parameter 'len' [-Wunused-parameter]

 void LiquidCrystal_I2C::draw_vertical_graph(uint8_t row, uint8_t column, uint8_t len,  uint8_t pixel_row_end){}

                                                                                  ^

C:\Users\Bob\Documents\Arduino\libraries\LiquidCrystal_I2C\LiquidCrystal_I2C.cpp:312:96: warning: unused parameter 'pixel_row_end' [-Wunused-parameter]

 void LiquidCrystal_I2C::draw_vertical_graph(uint8_t row, uint8_t column, uint8_t len,  uint8_t pixel_row_end){}

                                                                                                ^

C:\Users\Bob\Documents\Arduino\libraries\LiquidCrystal_I2C\LiquidCrystal_I2C.cpp:313:45: warning: unused parameter 'new_val' [-Wunused-parameter]

 void LiquidCrystal_I2C::setContrast(uint8_t new_val){}

                                             ^
In file included from C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1\src\LiquidLine.cpp:30:0:

C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1\src\LiquidMenu.h:55:97: note: #pragma message: LiquidMenu: Configured for I2C. Edit 'LiquidMenu_config.h' file to change it.

 #pragma message ("LiquidMenu: Configured for I2C. Edit 'LiquidMenu_config.h' file to change it.")

                                                                                                 ^

In file included from C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1\src\LiquidSystem.cpp:30:0:

C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1\src\LiquidMenu.h:55:97: note: #pragma message: LiquidMenu: Configured for I2C. Edit 'LiquidMenu_config.h' file to change it.

 #pragma message ("LiquidMenu: Configured for I2C. Edit 'LiquidMenu_config.h' file to change it.")

                                                                                                 ^

In file included from C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1\src\LiquidMenu.cpp:30:0:

C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1\src\LiquidMenu.h:55:97: note: #pragma message: LiquidMenu: Configured for I2C. Edit 'LiquidMenu_config.h' file to change it.

 #pragma message ("LiquidMenu: Configured for I2C. Edit 'LiquidMenu_config.h' file to change it.")

                                                                                                 ^

In file included from C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1\src\recognizeType.cpp:7:0:

C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1\src\LiquidMenu.h:55:97: note: #pragma message: LiquidMenu: Configured for I2C. Edit 'LiquidMenu_config.h' file to change it.

 #pragma message ("LiquidMenu: Configured for I2C. Edit 'LiquidMenu_config.h' file to change it.")

                                                                                                 ^

In file included from C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1\src\LiquidScreen.cpp:30:0:

C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1\src\LiquidMenu.h:55:97: note: #pragma message: LiquidMenu: Configured for I2C. Edit 'LiquidMenu_config.h' file to change it.

 #pragma message ("LiquidMenu: Configured for I2C. Edit 'LiquidMenu_config.h' file to change 
Using library Wire at version 1.0 in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire 
Using library LiquidCrystal_I2C at version 1.1.2 in folder: C:\Users\Bob\Documents\Arduino\libraries\LiquidCrystal_I2C 
Using library LiquidMenu-1.4.1 at version 1.4.0 in folder: C:\Users\Bob\Documents\Arduino\libraries\LiquidMenu-1.4.1 
"C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-size" -A "C:\\Users\\Bob\\AppData\\Local\\Temp\\arduino_build_988030/Aug9thFocusMenu.ino.elf"
Sketch uses 8908 bytes (3%) of program storage space. Maximum is 253952 bytes.
Global variables use 974 bytes (11%) of dynamic memory, leaving 7218 bytes for local variables. Maximum is 8192 bytes.

I created another sketch that was a copy of my last, copied the header file to folder, and moved over the buttoncheck() definition and the button declarations.
After that I verified, to which it compiled. Now to see how it works, so far im learning.